Created
January 10, 2022 15:02
-
-
Save MarwanRefaat/a7f5c70156f1794801eeefbfab58f56e to your computer and use it in GitHub Desktop.
Plaid OpenAPI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | |
title: The Plaid API | |
version: 2020-09-14_1.61.0 | |
description: The Plaid REST API. Please see https://plaid.com/docs/api for more details. | |
contact: | |
name: Plaid Developer Team | |
url: https://plaid.com | |
termsOfService: https://plaid.com/legal/ | |
tags: | |
- name: plaid | |
description: The Plaid API | |
security: | |
- clientId: [] | |
secret: [] | |
plaidVersion: [] | |
paths: | |
/item/application/list: | |
post: | |
tags: | |
- plaid | |
summary: List a user’s connected applications | |
operationId: itemApplicationList | |
description: List a user’s connected applications | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemApplicationListResponse" | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemApplicationListRequest" | |
/item/application/scopes/update: | |
post: | |
tags: | |
- plaid | |
summary: Update the scopes of access for a particular application | |
operationId: itemApplicationScopesUpdate | |
description: Enable consumers to update product access on selected accounts for an application. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemApplicationScopesUpdateResponse" | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemApplicationScopesUpdateRequest" | |
/application/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve information about a Plaid application | |
operationId: applicationGet | |
description: Allows financial institutions to retrieve information about Plaid clients for the purpose of building control-tower experiences | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ApplicationGetResponse" | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ApplicationGetRequest" | |
description: "" | |
/item/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve an Item | |
externalDocs: | |
url: /api/items/#itemget | |
operationId: itemGet | |
description: Returns information about the status of an Item. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemGetResponse" | |
examples: | |
example-1: | |
value: | |
item: | |
available_products: | |
- balance | |
- auth | |
billed_products: | |
- identity | |
- transactions | |
error: null | |
institution_id: ins_109508 | |
item_id: Ed6bjNrDLJfGvZWwnkQlfxwoNz54B5C97ejBr | |
update_type: background | |
webhook: https://plaid.com/example/hook | |
consent_expiration_time: null | |
status: | |
transactions: | |
last_successful_update: "2019-02-15T15:52:39Z" | |
last_failed_update: "2019-01-22T04:32:00Z" | |
last_webhook: | |
sent_at: "2019-02-15T15:53:00Z" | |
code_sent: DEFAULT_UPDATE | |
request_id: m8MDnv9okwxFNBV | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemGetRequest" | |
description: "" | |
/auth/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve auth data | |
externalDocs: | |
url: /api/products/#authget | |
operationId: authGet | |
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. | |
Note: 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. | |
Also note that `/auth/get` will not return data for any new accounts opened after the Item was created. To obtain data for new accounts, create a new Item. | |
Versioning 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). | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AuthGetResponse" | |
examples: | |
example-1: | |
value: | |
accounts: | |
- account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
balances: | |
available: 100 | |
current: 110 | |
limit: null | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
mask: "9606" | |
name: Plaid Checking | |
official_name: Plaid Gold Checking | |
subtype: checking | |
type: depository | |
numbers: | |
ach: | |
- account: "9900009606" | |
account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
routing: "011401533" | |
wire_routing: "021000021" | |
eft: | |
- account: "111122223333" | |
account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
institution: "021" | |
branch: "01140" | |
international: | |
- account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
bic: NWBKGB21 | |
iban: GB29NWBK60161331926819 | |
bacs: | |
- account: "31926819" | |
account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
sort_code: "601613" | |
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: m8MDnv9okwxFNBV | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Default error | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AuthGetRequest" | |
examples: {} | |
description: "" | |
/transactions/get: | |
post: | |
tags: | |
- plaid | |
summary: Get transaction data | |
externalDocs: | |
url: /api/products/#transactionsget | |
operationId: transactionsGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsGetResponse" | |
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 | |
transactions: | |
- account_id: BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp | |
amount: 2307.21 | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
category: | |
- Shops | |
- Computers and Electronics | |
category_id: "19013000" | |
check_number: null | |
date: "2017-01-29" | |
datetime: null | |
authorized_date: "2017-01-27" | |
authorized_datetime: null | |
location: | |
address: 300 Post St | |
city: San Francisco | |
region: CA | |
postal_code: "94108" | |
country: US | |
lat: 40.740352 | |
lon: -74.001761 | |
store_number: "1235" | |
name: Apple Store | |
merchant_name: Apple | |
payment_meta: | |
by_order_of: null | |
payee: null | |
payer: null | |
payment_method: null | |
payment_processor: null | |
ppd_id: null | |
reason: null | |
reference_number: null | |
payment_channel: in store | |
pending: false | |
pending_transaction_id: null | |
account_owner: null | |
transaction_id: lPNjeW1nR6CDn5okmGQ6hEpMo4lLNoSrzqDje | |
transaction_code: null | |
transaction_type: place | |
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 | |
total_transactions: 1 | |
request_id: 45QSn | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
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. | |
Transactions 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). | |
Due 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. | |
Data 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. | |
Note 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/webhooks#transactions-initial_update) and [`HISTORICAL_UPDATE`](https://plaid.com/docs/api/webhooks#transactions-historical_update) webhooks. If no transaction history is ready when `/transactions/get` is called, it will return a `PRODUCT_NOT_READY` error. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsGetRequest" | |
examples: {} | |
/transactions/refresh: | |
post: | |
tags: | |
- plaid | |
summary: Refresh transaction data | |
externalDocs: | |
url: /api/products/#transactionsrefresh | |
operationId: transactionsRefresh | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsRefreshResponse" | |
examples: | |
example-1: | |
value: | |
request_id: 1vwmF5TBQwiqfwP | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
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: [`TRANSACTIONS_REMOVED`](https://plaid.com/docs/api/webhooks#deleted-transactions-detected) will be fired if any removed transactions are detected, and [`DEFAULT_UPDATE`](https://plaid.com/docs/api/webhooks#transactions-default_update) will be fired if any new transactions are detected. New transactions can be fetched by calling `/transactions/get`. | |
Access to `/transactions/refresh` in Production is specific to certain pricing plans. If you cannot access `/transactions/refresh` in Production, [contact Sales](https://www.plaid.com/contact) for assistance. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsRefreshRequest" | |
/transactions/recurring/get: | |
post: | |
tags: | |
- plaid | |
summary: Get streams of recurring transactions | |
operationId: transactionsRecurringGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsRecurringGetResponse" | |
examples: {} | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
description: |- | |
The `/transactions/recurring/get` endpoint identifies and returns groups of transactions that occur on a regular basis for the inputted Item and accounts. | |
The product is currently in beta. To request access, contact transactions-feedback@plaid.com. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsRecurringGetRequest" | |
examples: {} | |
/transactions/sync: | |
post: | |
tags: | |
- plaid | |
summary: Get incremental transaction updates on an item | |
externalDocs: | |
url: /api/products/#transactionssync | |
operationId: transactionsSync | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsSyncResponse" | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
description: |- | |
The `/transactions/sync` endpoint returns item transactions as a set of delta updates. | |
Subsequent calls to the endpoint using the cursor returned in the response will return new added, modified, and removed transactions since the last call to the endpoint | |
The product is currently in beta. To request access, contact transactions-feedback@plaid.com. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransactionsSyncRequest" | |
examples: {} | |
/institutions/get: | |
post: | |
tags: | |
- plaid | |
summary: Get details of all supported institutions | |
externalDocs: | |
url: /api/institutions/#institutionsget | |
operationId: institutionsGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InstitutionsGetResponse" | |
examples: | |
example-1: | |
value: | |
institutions: | |
- country_codes: | |
- US | |
institution_id: ins_1 | |
name: Bank of America | |
oauth: false | |
products: | |
- assets | |
- auth | |
- balance | |
- transactions | |
- identity | |
- liabilities | |
routing_numbers: | |
- "011000138" | |
- "011200365" | |
- "011400495" | |
- "011500010" | |
- "011900254" | |
- "021000322" | |
- "021200339" | |
- "026009593" | |
- "031202084" | |
- "051000017" | |
- "052001633" | |
- "053000196" | |
- "053904483" | |
- "054001204" | |
- "061000052" | |
- "063100277" | |
- "064000020" | |
- "071214579" | |
- "072000805" | |
- "073000176" | |
- "081000032" | |
- "081904808" | |
- "082000073" | |
- "101100045" | |
- "103000017" | |
- "107000327" | |
- "111000025" | |
- "121000358" | |
- "122101706" | |
- "122400724" | |
- "123103716" | |
- "125000024" | |
- "323070380" | |
request_id: tbFyCEqkU774ZGG | |
total: 11384 | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
description: |- | |
Returns a JSON response containing details on all financial institutions currently supported by Plaid. Because Plaid supports thousands of institutions, results are paginated. | |
If 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InstitutionsGetRequest" | |
description: "" | |
/institutions/search: | |
post: | |
tags: | |
- plaid | |
summary: Search institutions | |
externalDocs: | |
url: /api/institutions/#institutionssearch | |
operationId: institutionsSearch | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InstitutionsSearchResponse" | |
examples: | |
example-1: | |
value: | |
institutions: | |
- country_codes: | |
- US | |
institution_id: ins_118923 | |
name: Red Platypus Bank - Red Platypus Bank | |
oauth: false | |
products: | |
- assets | |
- auth | |
- balance | |
- transactions | |
- identity | |
routing_numbers: [] | |
request_id: Ggmk0enW4smO2Tp | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
description: | | |
Returns a JSON response containing details for institutions that match the query parameters, up to a maximum of ten institutions per query. | |
Versioning 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InstitutionsSearchRequest" | |
/institutions/get_by_id: | |
post: | |
tags: | |
- plaid | |
summary: Get details of an institution | |
externalDocs: | |
url: /api/institutions/#institutionsget_by_id | |
operationId: institutionsGetById | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InstitutionsGetByIdResponse" | |
examples: | |
example-1: | |
value: | |
institution: | |
country_codes: | |
- US | |
institution_id: ins_109512 | |
name: Houndstooth Bank | |
products: | |
- auth | |
- balance | |
- identity | |
- transactions | |
routing_numbers: | |
- "110000000" | |
oauth: false | |
status: | |
item_logins: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.9 | |
error_plaid: 0.01 | |
error_institution: 0.09 | |
transactions_updates: | |
status: HEALTHY | |
last_status_change: "2019-02-12T08:22:00Z" | |
breakdown: | |
success: 0.95 | |
error_plaid: 0.02 | |
error_institution: 0.03 | |
refresh_interval: NORMAL | |
auth: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.91 | |
error_plaid: 0.01 | |
error_institution: 0.08 | |
identity: | |
status: DEGRADED | |
last_status_change: "2019-02-15T15:50:00Z" | |
breakdown: | |
success: 0.42 | |
error_plaid: 0.08 | |
error_institution: 0.5 | |
investments: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.89 | |
error_plaid: 0.02 | |
error_institution: 0.09 | |
liabilities: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.89 | |
error_plaid: 0.02 | |
error_institution: 0.09 | |
investments_updates: | |
status: HEALTHY | |
last_status_change: "2019-02-12T08:22:00Z" | |
breakdown: | |
success: 0.95 | |
error_plaid: 0.02 | |
error_institution: 0.03 | |
refresh_interval: NORMAL | |
liabilities_updates: | |
status: HEALTHY | |
last_status_change: "2019-02-12T08:22:00Z" | |
breakdown: | |
success: 0.95 | |
error_plaid: 0.02 | |
error_institution: 0.03 | |
refresh_interval: NORMAL | |
primary_color: "#004966" | |
url: https://plaid.com | |
logo: null | |
request_id: m8MDnv9okwxFNBV | |
default: | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Error response | |
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" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InstitutionsGetByIdRequest" | |
description: "" | |
/item/remove: | |
post: | |
tags: | |
- plaid | |
summary: Remove an Item | |
externalDocs: | |
url: /api/items/#itemremove | |
operationId: itemRemove | |
description: |- | |
The `/item/remove` endpoint allows you to remove an Item. Once removed, the `access_token` associated with the Item is no longer valid and cannot be used to access any data that was associated with the Item. | |
Note 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. | |
Also 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. | |
API versions 2019-05-29 and earlier return a `removed` boolean as part of the response. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemRemoveResponse" | |
examples: | |
example-1: | |
value: | |
request_id: m8MDnv9okwxFNBV | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemRemoveRequest" | |
description: "" | |
/accounts/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve accounts | |
externalDocs: | |
url: /api/accounts/#accountsget | |
operationId: accountsGet | |
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. | |
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/webhooks/#item-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. | |
This 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. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AccountsGetResponse" | |
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 | |
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 | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AccountsGetRequest" | |
examples: | |
example-1: | |
value: | |
client_id: string | |
secret: string | |
access_token: string | |
options: | |
account_ids: | |
- string | |
/categories/get: | |
post: | |
security: [] | |
tags: | |
- plaid | |
summary: Get Categories | |
externalDocs: | |
url: /api/products/#categoriesget | |
operationId: categoriesGet | |
description: Send a request to the `/categories/get` endpoint to get detailed information on categories returned by Plaid. This endpoint does not require authentication. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/CategoriesGetResponse" | |
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 | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/CategoriesGetRequest" | |
/sandbox/processor_token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create a test Item and processor token | |
externalDocs: | |
url: /api/sandbox/#sandboxprocessor_tokencreate | |
operationId: sandboxProcessorTokenCreate | |
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. | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxProcessorTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
processor_token: processor-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d | |
request_id: Aim3b | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxProcessorTokenCreateRequest" | |
/sandbox/public_token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create a test Item | |
externalDocs: | |
url: /api/sandbox/#sandboxpublic_tokencreate | |
operationId: sandboxPublicTokenCreate | |
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. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxPublicTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
public_token: public-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d | |
request_id: Aim3b | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
description: "" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxPublicTokenCreateRequest" | |
/sandbox/item/fire_webhook: | |
post: | |
tags: | |
- plaid | |
summary: Fire a test webhook | |
externalDocs: | |
url: /api/sandbox/#sandboxitemfire_webhook | |
operationId: sandboxItemFireWebhook | |
description: The `/sandbox/item/fire_webhook` endpoint is used to test that code correctly handles webhooks. Calling this endpoint triggers a Transactions `DEFAULT_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. Note 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. | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxItemFireWebhookResponse" | |
examples: | |
example-1: | |
value: | |
webhook_fired: true | |
request_id: 1vwmF5TBQwiqfwP | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
description: "" | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxItemFireWebhookRequest" | |
/accounts/balance/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve real-time balance data | |
externalDocs: | |
url: /api/products/#accountsbalanceget | |
operationId: accountsBalanceGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AccountsGetResponse" | |
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 | |
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 | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AccountsBalanceGetRequest" | |
examples: | |
example-1: | |
value: | |
access_token: string | |
secret: string | |
client_id: string | |
options: | |
account_ids: | |
- string | |
/identity/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve identity data | |
externalDocs: | |
url: /api/products/#identityget | |
operationId: identityGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IdentityGetResponse" | |
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 | |
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. | |
Note: This 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IdentityGetRequest" | |
description: "" | |
/processor/auth/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve Auth data | |
externalDocs: | |
url: /api/processors/#processorauthget | |
operationId: processorAuthGet | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorAuthGetResponse" | |
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" | |
eft: | |
account: "111122223333" | |
account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
institution: "021" | |
branch: "01140" | |
international: | |
account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
bic: NWBKGB21 | |
iban: GB29NWBK60161331926819 | |
bacs: | |
account: "31926819" | |
account_id: vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D | |
sort_code: "601613" | |
request_id: 1zlMf | |
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" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorAuthGetRequest" | |
/processor/bank_transfer/create: | |
post: | |
tags: | |
- plaid | |
summary: Create a bank transfer as a processor | |
externalDocs: | |
url: /api/processors/#bank_transfercreate | |
operationId: processorBankTransferCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorBankTransferCreateResponse" | |
examples: | |
example-1: | |
value: | |
bank_transfer: | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
cancellable: true | |
created: "2020-08-06T17:27:15Z" | |
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 | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/processor/bank_transfer/create` endpoint to initiate a new bank transfer as a processor | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorBankTransferCreateRequest" | |
/processor/identity/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve Identity data | |
externalDocs: | |
url: /api/processors/#processoridentityget | |
operationId: processorIdentityGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorIdentityGetResponse" | |
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 | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorIdentityGetRequest" | |
/processor/balance/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve Balance data | |
externalDocs: | |
url: /api/processors/#processorbalanceget | |
operationId: processorBalanceGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorBalanceGetResponse" | |
examples: | |
example-1: | |
value: | |
account: | |
account_id: QKKzevvp33HxPWpoqn6rI13BxW4awNSjnw4xv | |
balances: | |
available: 100 | |
current: 110 | |
limit: null | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
mask: "0000" | |
name: Plaid Checking | |
official_name: Plaid Gold Checking | |
subtype: checking | |
type: depository | |
request_id: 1zlMf | |
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. " | |
requestBody: | |
required: true | |
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`. | |
The 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. | |
Note 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`. | |
/item/webhook/update: | |
post: | |
tags: | |
- plaid | |
summary: Update Webhook URL | |
externalDocs: | |
url: /api/items/#itemwebhookupdate | |
operationId: itemWebhookUpdate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemWebhookUpdateResponse" | |
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 | |
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/webhooks/#item-webhook-url-updated) webhook to the newly specified webhook URL. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemWebhookUpdateRequest" | |
/item/access_token/invalidate: | |
post: | |
tags: | |
- plaid | |
summary: Invalidate access_token | |
externalDocs: | |
url: /api/tokens/#itemaccess_tokeninvalidate | |
operationId: itemAccessTokenInvalidate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemAccessTokenInvalidateResponse" | |
examples: | |
example-1: | |
value: | |
new_access_token: access-sandbox-8ab976e6-64bc-4b38-98f7-731e7a349970 | |
request_id: m8MDnv9okwxFNBV | |
description: | | |
By default, the `access_token` associated with an Item does not expire and should be stored in a persistent, secure manner. | |
You 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`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemAccessTokenInvalidateRequest" | |
/webhook_verification_key/get: | |
post: | |
tags: | |
- plaid | |
summary: Get webhook verification key | |
externalDocs: | |
url: /api/webhooks/webhook-verification/#webhook_verification_keyget | |
operationId: webhookVerificationKeyGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WebhookVerificationKeyGetResponse" | |
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 | |
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. | |
The `/webhook_verification_key/get` endpoint provides a JSON Web Key (JWK) that can be used to verify a JWT. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WebhookVerificationKeyGetRequest" | |
description: "" | |
/liabilities/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve Liabilities data | |
externalDocs: | |
url: /api/products/#liabilitiesget | |
operationId: liabilitiesGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/LiabilitiesGetResponse" | |
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: "2019-05-22" | |
last_statement_issue_date: "2019-05-28" | |
last_statement_balance: 1708.77 | |
minimum_payment_amount: 20 | |
next_payment_due_date: "2020-05-28" | |
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: "2019-08-01" | |
loan_term: 30 year | |
loan_type_description: conventional | |
maturity_date: "2045-07-31" | |
next_monthly_payment: 3141.54 | |
next_payment_due_date: "2019-11-15" | |
origination_date: "2015-08-01" | |
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: | |
- "2002-08-28" | |
expected_payoff_date: "2032-07-28" | |
guarantor: DEPT OF ED | |
interest_rate_percentage: 5.25 | |
is_overdue: false | |
last_payment_amount: 138.05 | |
last_payment_date: "2019-04-22" | |
last_statement_issue_date: "2019-04-28" | |
loan_name: Consolidation | |
loan_status: | |
end_date: "2032-07-28" | |
type: repayment | |
minimum_payment_amount: 25 | |
next_payment_due_date: "2019-05-28" | |
origination_date: "2002-08-28" | |
origination_principal_amount: 25000 | |
outstanding_interest_amount: 6227.36 | |
payment_reference_number: "4277075694" | |
pslf_status: | |
estimated_eligibility_date: "2021-01-01" | |
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 | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/LiabilitiesGetRequest" | |
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). | |
The 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`. | |
Note: 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. | |
/payment_initiation/recipient/create: | |
post: | |
tags: | |
- plaid | |
summary: Create payment recipient | |
externalDocs: | |
url: /api/products/#payment_initiationrecipientcreate | |
operationId: paymentInitiationRecipientCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationRecipientCreateResponse" | |
examples: | |
example-1: | |
value: | |
recipient_id: recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6 | |
request_id: 4zlKapIkTm8p5KM | |
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). For a standing order (recurring) payment, the recipient must be in the UK. | |
The endpoint is idempotent: if a developer has already made a request with the same payment details, Plaid will return the same `recipient_id`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationRecipientCreateRequest" | |
/payment_initiation/payment/reverse: | |
post: | |
tags: | |
- plaid | |
summary: Reverse an existing payment | |
externalDocs: | |
url: /api/products/#payment_initiationpaymentreverse | |
operationId: paymentInitiationPaymentReverse | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentReverseResponse" | |
examples: | |
example-1: | |
value: | |
refund_id: refund-id-sandbox-c5f8cd31-6cae-4cad-9b0d-f7c10be9cc4b | |
request_id: HtlKzBX0fMeF7mU | |
status: INITIATED | |
description: | | |
Reverse a previously initiated payment. | |
A payment can only be reversed once and will be refunded to the original sender's account. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentReverseRequest" | |
/payment_initiation/recipient/get: | |
post: | |
tags: | |
- plaid | |
summary: Get payment recipient | |
externalDocs: | |
url: /api/products/#payment_initiationrecipientget | |
operationId: paymentInitiationRecipientGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationRecipientGetResponse" | |
examples: | |
example-1: | |
value: | |
recipient_id: recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6 | |
name: Wonder Wallet | |
iban: GB29NWBK60161331926819 | |
address: | |
street: | |
- 96 Guild Street | |
- 9th Floor | |
city: London | |
postal_code: SE14 8JW | |
country: GB | |
request_id: 4zlKapIkTm8p5KM | |
description: Get details about a payment recipient you have previously created. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationRecipientGetRequest" | |
/payment_initiation/recipient/list: | |
post: | |
tags: | |
- plaid | |
summary: List payment recipients | |
externalDocs: | |
url: /api/products/#payment_initiationrecipientlist | |
operationId: paymentInitiationRecipientList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationRecipientListResponse" | |
examples: | |
example-1: | |
value: | |
recipients: | |
- recipient_id: recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6 | |
name: Wonder Wallet | |
iban: GB29NWBK60161331926819 | |
address: | |
street: | |
- 96 Guild Street | |
- 9th Floor | |
city: London | |
postal_code: SE14 8JW | |
country: GB | |
request_id: 4zlKapIkTm8p5KM | |
description: The `/payment_initiation/recipient/list` endpoint list the payment recipients that you have previously created. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationRecipientListRequest" | |
/payment_initiation/payment/create: | |
post: | |
tags: | |
- plaid | |
summary: Create a payment | |
externalDocs: | |
url: /api/products/#payment_initiationpaymentcreate | |
operationId: paymentInitiationPaymentCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentCreateResponse" | |
examples: | |
example-1: | |
value: | |
payment_id: payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3 | |
status: PAYMENT_STATUS_INPUT_NEEDED | |
request_id: 4ciYVmesrySiUAB | |
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 or GBP. 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 and GBP-denominated payments will be sent via the Faster Payments network, 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 will typically arrive in one business day. | |
Standing 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. | |
In the Development environment, payments must be below 5 GBP / EUR. For details on any payment limits in Production, contact your Plaid Account Manager. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentCreateRequest" | |
description: "" | |
/payment_initiation/payment/token/create: | |
post: | |
tags: | |
- plaid | |
deprecated: true | |
summary: Create payment token | |
externalDocs: | |
url: /link/maintain-legacy-integration/#creating-a-payment-token | |
operationId: createPaymentToken | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
payment_token: payment-token-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3 | |
payment_token_expiration_time: "2020-01-01T00:00:00Z" | |
request_id: 4ciYVmesrySiUAB | |
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. | |
The `/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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentTokenCreateRequest" | |
/sandbox/item/reset_login: | |
post: | |
tags: | |
- plaid | |
summary: Force a Sandbox Item into an error state | |
externalDocs: | |
url: /api/sandbox/#sandboxitemreset_login | |
operationId: sandboxItemResetLogin | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxItemResetLoginResponse" | |
examples: | |
example-1: | |
value: | |
reset_login: true | |
request_id: m8MDnv9okwxFNBV | |
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. | |
In the Sandbox, Items will transition to an `ITEM_LOGIN_REQUIRED` error state automatically after 30 days, even if this endpoint is not called. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxItemResetLoginRequest" | |
/sandbox/item/set_verification_status: | |
post: | |
tags: | |
- plaid | |
summary: Set verification status for Sandbox account | |
externalDocs: | |
url: /api/sandbox/#sandboxitemset_verification_status | |
operationId: sandboxItemSetVerificationStatus | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxItemSetVerificationStatusResponse" | |
examples: | |
example-1: | |
value: | |
request_id: 1vwmF5TBQwiqfwP | |
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. | |
Note 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). | |
For more information on testing Automated Micro-deposits in Sandbox, see [Auth full coverage testing](https://plaid.com/docs/auth/coverage/testing#). | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxItemSetVerificationStatusRequest" | |
/item/public_token/exchange: | |
post: | |
tags: | |
- plaid | |
summary: Exchange public token for an access token | |
externalDocs: | |
url: /api/tokens/#itempublic_tokenexchange | |
operationId: itemPublicTokenExchange | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemPublicTokenExchangeResponse" | |
examples: | |
example-1: | |
value: | |
access_token: access-sandbox-de3ce8ef-33f8-452c-a685-8671031fc0f6 | |
item_id: M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op | |
request_id: Aim3b | |
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. | |
The 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemPublicTokenExchangeRequest" | |
/item/public_token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create public token | |
externalDocs: | |
url: /api/tokens/#itempublic_tokencreate | |
operationId: itemCreatePublicToken | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemPublicTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
public_token: public-sandbox-b0e2c4ee-a763-4df5-bfe9-46a46bce993d | |
request_id: Aim3b | |
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). | |
If 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`. | |
A `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. | |
The `/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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemPublicTokenCreateRequest" | |
/payment_initiation/payment/get: | |
post: | |
tags: | |
- plaid | |
summary: Get payment details | |
externalDocs: | |
url: /api/products/#payment_initiationpaymentget | |
operationId: paymentInitiationPaymentGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentGetResponse" | |
examples: | |
example-1: | |
value: | |
payment_id: payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3 | |
payment_token: payment-token-sandbox-c6a26505-42b4-46fe-8ecf-bf9edcafbebb | |
reference: Account Funding 99744 | |
amount: | |
currency: GBP | |
value: 100 | |
status: PAYMENT_STATUS_INPUT_NEEDED | |
last_status_update: "2019-11-06T21:10:52Z" | |
payment_expiration_time: "2019-11-06T21:25:52Z" | |
recipient_id: recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6 | |
bacs: null | |
iban: null | |
request_id: aEAQmewMzlVa1k6 | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentGetRequest" | |
description: "" | |
/payment_initiation/payment/list: | |
post: | |
tags: | |
- plaid | |
summary: List payments | |
externalDocs: | |
url: /api/products/#payment_initiationpaymentlist | |
operationId: paymentInitiationPaymentList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentListResponse" | |
examples: | |
example-1: | |
value: | |
payments: | |
- payment_id: payment-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3 | |
reference: Account Funding 99744 | |
amount: | |
currency: GBP | |
value: 100 | |
status: PAYMENT_STATUS_INPUT_NEEDED | |
last_status_update: "2019-11-06T21:10:52Z" | |
recipient_id: recipient-id-sandbox-9b6b4679-914b-445b-9450-efbdb80296f6 | |
bacs: null | |
iban: null | |
next_cursor: "2020-01-01T00:00:00Z" | |
request_id: aEAQmewMzlVa1k6 | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/PaymentInitiationPaymentListRequest" | |
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. | |
/asset_report/create: | |
post: | |
tags: | |
- plaid | |
summary: Create an Asset Report | |
externalDocs: | |
url: /api/products/#asset_reportcreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportCreateResponse" | |
examples: | |
example-1: | |
value: | |
asset_report_token: assets-sandbox-6f12f5bb-22dd-4855-b918-f47ec439198a | |
asset_report_id: 1f414183-220c-44f5-b0c8-bc0e6d4053bb | |
request_id: Iam3b | |
operationId: assetReportCreate | |
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. | |
The 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/webhooks/#Assets-webhooks). | |
The `/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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportCreateRequest" | |
/asset_report/refresh: | |
post: | |
tags: | |
- plaid | |
summary: Refresh an Asset Report | |
externalDocs: | |
url: /api/products/#asset_reportrefresh | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportRefreshResponse" | |
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 | |
operationId: assetReportRefresh | |
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. | |
The 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportRefreshRequest" | |
description: "" | |
/asset_report/remove: | |
post: | |
tags: | |
- plaid | |
summary: Delete an Asset Report | |
externalDocs: | |
url: /api/products/#asset_reportremove | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportRemoveResponse" | |
examples: | |
example-1: | |
value: | |
removed: true | |
request_id: I6zHN | |
operationId: assetReportRemove | |
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. | |
The `/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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportRemoveRequest" | |
description: "" | |
/asset_report/filter: | |
post: | |
tags: | |
- plaid | |
summary: Filter Asset Report | |
externalDocs: | |
url: /api/products/#asset_reportfilter | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportFilterResponse" | |
examples: | |
example-1: | |
value: | |
asset_report_token: assets-sandbox-bc410c6a-4653-4c75-985c-e757c3497c5c | |
asset_report_id: fdc09207-0cef-4d88-b5eb-0d970758ebd9 | |
request_id: qEg07 | |
operationId: assetReportFilter | |
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. | |
To 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. | |
Because 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. | |
Plaid will fire a [`PRODUCT_READY`](https://plaid.com/docs/api/webhooks) webhook once generation of the filtered Asset Report has completed. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportFilterRequest" | |
description: "" | |
/asset_report/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve an Asset Report | |
externalDocs: | |
url: /api/products/#asset_reportget | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportGetResponse" | |
examples: | |
example-1: | |
value: | |
report: | |
asset_report_id: bf3a0490-344c-4620-a219-2693162e4b1d | |
client_report_id: 123abc | |
date_generated: "2020-06-05T22:47:53Z" | |
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: "2020-06-04" | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
- current: 210 | |
date: "2020-06-03" | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
- current: 210 | |
date: "2020-06-02" | |
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: "2020-06-04" | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
- current: 410 | |
date: "2020-06-03" | |
iso_currency_code: USD | |
unofficial_currency_code: null | |
- current: 410 | |
date: "2020-06-02" | |
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: "2020-06-05T22:47:52Z" | |
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: [] | |
operationId: assetReportGet | |
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/webhooks) webhook to fire, indicating that the Report is ready to be retrieved. | |
By 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. | |
To retrieve an Asset Report with Insights, call the `/asset_report/get` endpoint with `include_insights` set to `true`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportGetRequest" | |
description: "" | |
/asset_report/pdf/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve a PDF Asset Report | |
externalDocs: | |
url: /api/products/#asset_reportpdfget | |
responses: | |
"200": | |
description: A PDF of the Asset Report | |
content: | |
application/pdf: | |
schema: | |
$ref: "#/components/schemas/AssetReportPDFGetResponse" | |
operationId: assetReportPdfGet | |
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/webhooks) webhook to fire, indicating that the Report is ready to be retrieved. | |
The response to `/asset_report/pdf/get` is the PDF binary data. The `request_id` is returned in the `Plaid-Request-ID` header. | |
[View a sample PDF Asset Report](https://plaid.com/documents/sample-asset-report.pdf). | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportPDFGetRequest" | |
description: "" | |
/asset_report/audit_copy/create: | |
post: | |
tags: | |
- plaid | |
summary: Create Asset Report Audit Copy | |
externalDocs: | |
url: /api/products/#asset_reportaudit_copycreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportAuditCopyCreateResponse" | |
examples: | |
example-1: | |
value: | |
audit_copy_token: a-sandbox-3TAU2CWVYBDVRHUCAAAI27ULU4 | |
request_id: Iam3b | |
operationId: assetReportAuditCopyCreate | |
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. | |
To 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportAuditCopyCreateRequest" | |
/asset_report/audit_copy/remove: | |
post: | |
tags: | |
- plaid | |
summary: Remove Asset Report Audit Copy | |
externalDocs: | |
url: /api/products/#asset_reportaudit_copyremove | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportAuditCopyRemoveResponse" | |
examples: | |
example-1: | |
value: | |
removed: true | |
request_id: m8MDnv9okwxFNBV | |
operationId: assetReportAuditCopyRemove | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportAuditCopyRemoveRequest" | |
description: "" | |
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. | |
/investments/holdings/get: | |
post: | |
tags: | |
- plaid | |
summary: Get Investment holdings | |
externalDocs: | |
url: /api/products/#investmentsholdingsget | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InvestmentsHoldingsGetResponse" | |
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 | |
holdings: | |
- account_id: JqMLm4rJwpF6gMPJwBqdh9ZjjPvvpDcb7kDK1 | |
cost_basis: 1 | |
institution_price: 1 | |
institution_price_as_of: "2021-04-13" | |
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: 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: 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: 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: 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: 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: null | |
institution_value: 12345.67 | |
iso_currency_code: USD | |
quantity: 12345.67 | |
security_id: d6ePmbPxgWCWmMVv66q9iPV94n91vMtov5Are | |
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: "2021-04-13" | |
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 | |
- 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 | |
- 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 | |
- 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 | |
- 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 | |
- 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 | |
operationId: investmentsHoldingsGet | |
description: The `/investments/holdings/get` endpoint allows developers to receive user-authorized stock position data for `investment`-type accounts. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InvestmentsHoldingsGetRequest" | |
/investments/transactions/get: | |
post: | |
tags: | |
- plaid | |
summary: Get investment transactions | |
externalDocs: | |
url: /api/products/#investmentstransactionsget | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InvestmentsTransactionsGetResponse" | |
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: "2020-05-29" | |
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: "2020-05-28" | |
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: "2020-05-27" | |
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 | |
- 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 | |
- 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 | |
total_investment_transactions: 3 | |
operationId: investmentsTransactionsGet | |
description: |- | |
The `/investments/transactions/get` endpoint allows developers to retrieve user-authorized transaction data for investment accounts. | |
Transactions are returned in reverse-chronological order, and the sequence of transaction ordering is stable and will not shift. | |
Due 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/InvestmentsTransactionsGetRequest" | |
/processor/token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create processor token | |
externalDocs: | |
url: /api/processors/#processortokencreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
processor_token: processor-sandbox-0asd1-a92nc | |
request_id: xrQNYZ7Zoh6R7gV | |
operationId: processorTokenCreate | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorTokenCreateRequest" | |
description: "" | |
/processor/stripe/bank_account_token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create Stripe bank account token | |
externalDocs: | |
url: /api/processors/#processorstripebank_account_tokencreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorStripeBankAccountTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
stripe_bank_account_token: btok_5oEetfLzPklE1fwJZ7SG | |
request_id: xrQNYZ7Zoh6R7gV | |
operationId: processorStripeBankAccountTokenCreate | |
description: Used 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/). | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorStripeBankAccountTokenCreateRequest" | |
description: "" | |
/processor/apex/processor_token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create Apex bank account token | |
externalDocs: | |
url: /none/ | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorTokenCreateResponse" | |
operationId: processorApexProcessorTokenCreate | |
description: Used to create a token suitable for sending to Apex to enable Plaid-Apex integrations. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ProcessorApexProcessorTokenCreateRequest" | |
description: "" | |
/deposit_switch/create: | |
post: | |
tags: | |
- plaid | |
summary: Create a deposit switch | |
externalDocs: | |
url: /api/products#deposit_switchcreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchCreateResponse" | |
examples: | |
example-1: | |
value: | |
deposit_switch_id: c7jMwPPManIwy9rwMewWP7lpb4pKRbtrbMomp | |
request_id: lMjeOeu9X1VUh1F | |
operationId: depositSwitchCreate | |
description: This endpoint creates a deposit switch entity that will be persisted throughout the lifecycle of the switch. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchCreateRequest" | |
/item/import: | |
post: | |
tags: | |
- plaid | |
summary: Import Item | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemImportResponse" | |
examples: | |
example-1: | |
value: | |
access_token: access-sandbox-99ace160-3cf7-4e51-a083-403633425815 | |
request_id: ewIBAn6RZirsk4W | |
operationId: itemImport | |
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. | |
Upon 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`). | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/ItemImportRequest" | |
/deposit_switch/token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create a deposit switch token | |
externalDocs: | |
url: /deposit-switch/reference#deposit_switchtokencreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
deposit_switch_token: deposit-switch-sandbox-3e5cacca-10a6-11ea-bcdb-6003089acac0 | |
deposit_switch_token_expiration_time: "2019-12-31T12:01:37Z" | |
request_id: 68MvHx4Ub5NYoXt | |
operationId: depositSwitchTokenCreate | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchTokenCreateRequest" | |
/link/token/create: | |
post: | |
tags: | |
- plaid | |
summary: Create Link Token | |
externalDocs: | |
url: /api/tokens/#linktokencreate | |
operationId: linkTokenCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/LinkTokenCreateResponse" | |
examples: | |
example-1: | |
value: | |
link_token: link-sandbox-af1a0311-da53-4636-b754-dd15cc058176 | |
expiration: "2020-03-27T12:56:34Z" | |
request_id: XQVgFigpGHXkb0b | |
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. | |
A `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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/LinkTokenCreateRequest" | |
description: "" | |
/link/token/get: | |
post: | |
tags: | |
- plaid | |
summary: Get Link Token | |
externalDocs: | |
url: /api/tokens/#linktokenget | |
operationId: linkTokenGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/LinkTokenGetResponse" | |
examples: | |
example-1: | |
value: | |
created_at: "2020-12-02T21:14:54Z" | |
expiration: "2020-12-03T01:14:54Z" | |
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 | |
description: |- | |
The `/link/token/get` endpoint gets information about a previously-created `link_token` using the | |
`/link/token/create` endpoint. It can be useful for debugging purposes. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/LinkTokenGetRequest" | |
description: "" | |
/asset_report/audit_copy/get: | |
post: | |
summary: Retrieve an Asset Report Audit Copy | |
tags: | |
- plaid | |
operationId: assetReportAuditCopyGet | |
externalDocs: | |
url: /none/ | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportAuditCopyGetRequest" | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/AssetReportGetResponse" | |
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`." | |
/deposit_switch/get: | |
post: | |
summary: Retrieve a deposit switch | |
externalDocs: | |
url: /api/products#deposit_switchget | |
tags: | |
- plaid | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchGetResponse" | |
examples: | |
example-1: | |
value: | |
target_item_id: MdRAkq1QikR3BLjDyMfMkVpqLmEm1VR7bX5hE | |
target_account_id: bX5hEMdRAkq1QikR3BLjDyMfMkVpqLmEm1VR7 | |
deposit_switch_id: LjDyMfMkVpqLmEm1VR7bQikR3BX5hEMdRAkq1 | |
state: completed | |
switch_method: instant | |
date_created: "2019-11-01" | |
date_completed: "2019-11-01" | |
account_has_multiple_allocations: true | |
is_allocated_remainder: false | |
percent_allocated: 50 | |
amount_allocated: null | |
employer_name: COMPANY INC | |
employer_id: pqLmEm1VR7bQi11231 | |
institution_name: Bank of America | |
institution_id: ins_1 | |
request_id: lMjeOeu9X1VUh1F | |
operationId: depositSwitchGet | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchGetRequest" | |
parameters: [] | |
/transfer/get: | |
post: | |
summary: Retrieve a transfer | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transferget | |
operationId: transferGet | |
responses: | |
"200": | |
description: OK | |
headers: {} | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferGetResponse" | |
examples: | |
example-1: | |
value: | |
transfer: | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
cancellable: true | |
created: "2020-08-06T17:27:15Z" | |
description: Testing2 | |
failure_reason: | |
ach_return_code: R13 | |
description: Invalid ACH routing number | |
id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
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 | |
phone_number: null | |
address: null | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: The `/transfer/get` fetches information about the transfer corresponding to the given `transfer_id`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferGetRequest" | |
examples: {} | |
parameters: [] | |
/bank_transfer/get: | |
post: | |
summary: Retrieve a bank transfer | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transferget | |
operationId: bankTransferGet | |
responses: | |
"200": | |
description: OK | |
headers: {} | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferGetResponse" | |
examples: | |
example-1: | |
value: | |
bank_transfer: | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
cancellable: true | |
created: "2020-08-06T17:27:15Z" | |
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: 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 | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: The `/bank_transfer/get` fetches information about the bank transfer corresponding to the given `bank_transfer_id`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferGetRequest" | |
examples: {} | |
parameters: [] | |
/transfer/authorization/create: | |
post: | |
summary: Create a transfer authorization | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transferauthorizationcreate | |
operationId: transferAuthorizationCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferAuthorizationCreateResponse" | |
examples: | |
example-1: | |
value: | |
authorization: | |
id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
created: "2020-08-06T17:27:15Z" | |
decision: approved | |
decision_rationale: null | |
proposed_transfer: | |
ach_class: ppd | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
type: credit | |
user: | |
legal_name: Foo Bar | |
phone_number: 123-456-7890 | |
email_address: user@plaid.com | |
address: | |
street: 100 Market Street | |
city: San Francisco | |
region: California | |
postal_code: "94103" | |
country: US | |
amount: "12.34" | |
network: ach | |
iso_currency_code: USD | |
origination_account_id: 0123-4567-8901-2345-67890123 | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: |- | |
Use the `/transfer/authorization/create` endpoint to determine transfer failure risk. | |
In Plaid's sandbox environment the decisions will be returned as follows: | |
- To approve a transfer, make an authorization request with an `amount` less than the available balance in the account. | |
- 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. | |
- 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. | |
- To permit 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). | |
- To permit a transfer with the rationale code `LOGIN_REQUIRED`, [reset the login for an Item](https://plaid.com/docs/sandbox/#item_login_required). | |
All username/password combinations other than the ones listed above will result in a decision of permitted and rationale code `ERROR`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferAuthorizationCreateRequest" | |
/transfer/create: | |
post: | |
summary: Create a transfer | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transfercreate | |
operationId: transferCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferCreateResponse" | |
examples: | |
example-1: | |
value: | |
transfer: | |
id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
ach_class: ppd | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
type: credit | |
user: | |
legal_name: Foo Bar | |
phone_number: 123-456-7890 | |
email_address: user@plaid.com | |
address: | |
street: 100 Market Street | |
city: San Francisco | |
region: California | |
postal_code: "94103" | |
country: US | |
amount: "12.34" | |
description: A description of the transfer | |
created: "2020-08-06T17:27:15Z" | |
status: pending | |
network: ach | |
cancellable: true | |
failure_reason: null | |
metadata: | |
key1: value1 | |
key2: value2 | |
origination_account_id: 0123-4567-8901-2345-67890123 | |
iso_currency_code: USD | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/transfer/create` endpoint to initiate a new transfer. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferCreateRequest" | |
/bank_transfer/create: | |
post: | |
summary: Create a bank transfer | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfercreate | |
operationId: bankTransferCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferCreateResponse" | |
examples: | |
example-1: | |
value: | |
bank_transfer: | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
cancellable: true | |
created: "2020-08-06T17:27:15Z" | |
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 | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/bank_transfer/create` endpoint to initiate a new bank transfer. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferCreateRequest" | |
/transfer/list: | |
post: | |
summary: List transfers | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transferlist | |
operationId: transferList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferListResponse" | |
examples: | |
example-1: | |
value: | |
transfers: | |
- account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
cancellable: true | |
created: "2020-08-06T17:27:15Z" | |
description: Testing2 | |
failure_reason: | |
ach_return_code: R13 | |
description: Invalid ACH routing number | |
id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
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 | |
phone_number: null | |
address: null | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferListRequest" | |
/bank_transfer/list: | |
post: | |
summary: List bank transfers | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transferlist | |
operationId: bankTransferList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferListResponse" | |
examples: | |
example-1: | |
value: | |
bank_transfers: | |
- account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
cancellable: true | |
created: "2020-08-06T17:27:15Z" | |
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: 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 | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferListRequest" | |
/transfer/cancel: | |
post: | |
summary: Cancel a transfer | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transfercancel | |
operationId: transferCancel | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferCancelResponse" | |
examples: | |
example-1: | |
value: | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/transfer/cancel` endpoint to cancel a transfer. A transfer is eligible for cancelation if the `cancellable` property returned by `/transfer/get` is `true`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferCancelRequest" | |
/bank_transfer/cancel: | |
post: | |
summary: Cancel a bank transfer | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfercancel | |
operationId: bankTransferCancel | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferCancelResponse" | |
examples: | |
example-1: | |
value: | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferCancelRequest" | |
/transfer/event/list: | |
post: | |
summary: List transfer events | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transfereventlist | |
operationId: transferEventList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferEventListResponse" | |
examples: | |
example-1: | |
value: | |
transfer_events: | |
- account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
transfer_amount: "12.34" | |
transfer_id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
transfer_type: credit | |
event_id: 1 | |
event_type: posted | |
failure_reason: null | |
origination_account_id: null | |
timestamp: "2020-08-06T17:27:15Z" | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/transfer/event/list` endpoint to get a list of transfer events based on specified filter criteria. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferEventListRequest" | |
/bank_transfer/event/list: | |
post: | |
summary: List bank transfer events | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfereventlist | |
operationId: bankTransferEventList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferEventListResponse" | |
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: receiver_pending | |
failure_reason: null | |
origination_account_id: null | |
receiver_details: | |
available_balance: positive | |
timestamp: "2020-08-06T17:27:15Z" | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/bank_transfer/event/list` endpoint to get a list of bank transfer events based on specified filter criteria. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferEventListRequest" | |
/transfer/event/sync: | |
post: | |
summary: Sync transfer events | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transfereventsync | |
operationId: transferEventSync | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferEventSyncResponse" | |
examples: | |
example-1: | |
value: | |
transfer_events: | |
- account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
transfer_amount: "12.34" | |
transfer_id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
transfer_type: credit | |
event_id: 1 | |
event_type: pending | |
failure_reason: null | |
origination_account_id: null | |
timestamp: "2020-08-06T17:27:15Z" | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferEventSyncRequest" | |
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." | |
/bank_transfer/event/sync: | |
post: | |
summary: Sync bank transfer events | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfereventsync | |
operationId: bankTransferEventSync | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferEventSyncResponse" | |
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: null | |
receiver_details: null | |
timestamp: "2020-08-06T17:27:15Z" | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferEventSyncRequest" | |
description: "`/bank_transfer/event/sync` allows you to request up to the next 25 bank transfer events that happened after a specific `event_id`. Use the `/bank_transfer/event/sync` endpoint to guarantee you have seen all bank transfer events." | |
/transfer/sweep/get: | |
post: | |
summary: Retrieve a sweep | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transfersweepget | |
operationId: transferSweepGet | |
responses: | |
"200": | |
description: OK | |
headers: {} | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferSweepGetResponse" | |
examples: | |
example-1: | |
value: | |
sweep: | |
id: d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d | |
created: "2020-08-06T17:27:15Z" | |
amount: "12.34" | |
iso_currency_code: USD | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: The `/transfer/sweep/get` endpoint fetches a sweep corresponding to the given `sweep_id`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferSweepGetRequest" | |
examples: {} | |
parameters: [] | |
/bank_transfer/sweep/get: | |
post: | |
summary: Retrieve a sweep | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfersweepget | |
operationId: bankTransferSweepGet | |
responses: | |
"200": | |
description: OK | |
headers: {} | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferSweepGetResponse" | |
examples: | |
example-1: | |
value: | |
sweep: | |
id: d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d | |
created_at: "2020-08-06T17:27:15Z" | |
amount: "12.34" | |
iso_currency_code: USD | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: The `/bank_transfer/sweep/get` endpoint fetches information about the sweep corresponding to the given `sweep_id`. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferSweepGetRequest" | |
examples: {} | |
parameters: [] | |
/transfer/sweep/list: | |
post: | |
summary: List sweeps | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transfersweeplist | |
operationId: transferSweepList | |
responses: | |
"200": | |
description: OK | |
headers: {} | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferSweepListResponse" | |
examples: | |
example-1: | |
value: | |
sweeps: | |
- id: d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d | |
created: "2020-08-06T17:27:15Z" | |
amount: "-12.34" | |
iso_currency_code: USD | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: The `/transfer/sweep/list` endpoint fetches sweeps matching the given filters. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferSweepListRequest" | |
examples: {} | |
parameters: [] | |
/bank_transfer/sweep/list: | |
post: | |
summary: List sweeps | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfersweeplist | |
operationId: bankTransferSweepList | |
responses: | |
"200": | |
description: OK | |
headers: {} | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferSweepListResponse" | |
examples: | |
example-1: | |
value: | |
sweeps: | |
- id: d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d | |
created_at: "2020-08-06T17:27:15Z" | |
amount: "12.34" | |
iso_currency_code: USD | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: The `/bank_transfer/sweep/list` endpoint fetches information about the sweeps matching the given filters. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferSweepListRequest" | |
examples: {} | |
parameters: [] | |
/bank_transfer/balance/get: | |
post: | |
summary: Get balance of your Bank Transfer account | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transferbalanceget | |
operationId: bankTransferBalanceGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferBalanceGetResponse" | |
examples: | |
example-1: | |
value: | |
balance: | |
available: "1721.70" | |
transactable: "721.70" | |
origination_account_id: 11111111-1111-1111-1111-111111111111 | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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. | |
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. | |
Note 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferBalanceGetRequest" | |
/bank_transfer/migrate_account: | |
post: | |
summary: Migrate account into Bank Transfers | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#bank_transfermigrate_account | |
operationId: bankTransferMigrateAccount | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferMigrateAccountResponse" | |
examples: | |
example-1: | |
value: | |
access_token: access-sandbox-435beced-94e8-4df3-a181-1dde1cfa19f0 | |
account_id: zvyDgbeeDluZ43AJP6m5fAxDlgoZXDuoy5gjN | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/BankTransferMigrateAccountRequest" | |
/transfer/intent/create: | |
post: | |
summary: Create a transfer intent object to invoke the Transfer UI | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transferintentcreate | |
operationId: transferIntentCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferIntentCreateResponse" | |
examples: | |
example-1: | |
value: | |
transfer_intent: | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
iso_currency_code: USD | |
created: "2020-08-06T17:27:15Z" | |
description: Desc | |
id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
metadata: | |
key1: value1 | |
key2: value2 | |
mode: DISBURSEMENT | |
origination_account_id: 9853defc-e703-463d-86b1-dc0607a45359 | |
status: PENDING | |
user: | |
address: | |
street: 100 Market Street | |
city: San Francisco | |
region: California | |
postal_code: "94103" | |
country: US | |
email_address: user@plaid.com | |
legal_name: Foo Bar | |
phone_number: 123-456-7890 | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/transfer/intent/create` endpoint to generate a transfer intent object and invoke the Transfer UI. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferIntentCreateRequest" | |
/transfer/intent/get: | |
post: | |
summary: Retrieve more information about a transfer intent | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#transferintentget | |
operationId: transferIntentGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferIntentGetResponse" | |
examples: | |
example-1: | |
value: | |
transfer_intent: | |
account_id: 6qL6lWoQkAfNE3mB8Kk5tAnvpX81qefrvvl7B | |
ach_class: ppd | |
amount: "12.34" | |
iso_currency_code: USD | |
authorization_decision: APPROVED | |
authorization_decision_rationale: null | |
created: "2020-08-06T17:27:15Z" | |
description: Desc | |
failure_reason: null | |
id: 460cbe92-2dcc-8eae-5ad6-b37d0ec90fd9 | |
metadata: | |
key1: value1 | |
key2: value2 | |
mode: DISBURSEMENT | |
origination_account_id: 9853defc-e703-463d-86b1-dc0607a45359 | |
status: SUCCEEDED | |
transfer_id: 8945fedc-e703-463d-86b1-dc0607b55460 | |
user: | |
address: | |
street: 100 Market Street | |
city: San Francisco | |
region: California | |
postal_code: "94103" | |
country: US | |
email_address: user@plaid.com | |
legal_name: Foo Bar | |
phone_number: 123-456-7890 | |
request_id: saKrIBuEB9qJZno | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/transfer/intent/get` endpoint to retrieve more information about a transfer intent. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/TransferIntentGetRequest" | |
/sandbox/bank_transfer/simulate: | |
post: | |
summary: Simulate a bank transfer event in Sandbox | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/sandbox/#sandboxbank_transfersimulate | |
operationId: sandboxBankTransferSimulate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxBankTransferSimulateResponse" | |
examples: | |
example-1: | |
value: | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxBankTransferSimulateRequest" | |
/sandbox/transfer/sweep/simulate: | |
post: | |
summary: Simulate creating a sweep | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#sandboxtransfersweepsimulate | |
operationId: sandboxTransferSweepSimulate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxTransferSweepSimulateResponse" | |
examples: | |
example-1: | |
value: | |
sweep: | |
id: d5394a4d-0b04-4a02-9f4a-7ca5c0f52f9d | |
created: "2020-08-06T17:27:15Z" | |
amount: "12.34" | |
iso_currency_code: USD | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: |- | |
Use the `/sandbox/transfer/sweep/simulate` endpoint to create a sweep and associated events in the Sandbox environment. | |
- All `posted` or `pending` Transfers with sweep_status `unswept` will become `swept` | |
- All `reversed` Transfers with sweep_status `swept` will become `reverse_swept` | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxTransferSweepSimulateRequest" | |
/sandbox/transfer/simulate: | |
post: | |
summary: Simulate a transfer event in Sandbox | |
tags: | |
- plaid | |
externalDocs: | |
url: /transfer/reference#sandboxtransfersimulate | |
operationId: sandboxTransferSimulate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxTransferSimulateResponse" | |
examples: | |
example-1: | |
value: | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxTransferSimulateRequest" | |
/employers/search: | |
post: | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/employers/#employerssearch | |
operationId: employersSearch | |
summary: Search employer database | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/EmployersSearchResponse" | |
examples: | |
example-1: | |
value: | |
employers: | |
- name: Plaid Inc. | |
address: | |
city: San Francisco | |
country: US | |
postal_code: "94103" | |
region: CA | |
street: 1098 Harrison St | |
confidence_score: 1 | |
employer_id: emp_1 | |
request_id: ixTBLZGvhD4NnmB | |
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. | |
The 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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/EmployersSearchRequest" | |
/income/verification/create: | |
post: | |
summary: (Deprecated) Create an income verification instance | |
tags: | |
- plaid | |
deprecated: true | |
externalDocs: | |
url: /api/products/#incomeverificationcreate | |
operationId: incomeVerificationCreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationCreateResponse" | |
examples: | |
example-1: | |
value: | |
income_verification_id: f2a826d7-25cf-483b-a124-c40beb64b732 | |
request_id: lMjeOeu9X1VUh1F | |
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. " | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationCreateRequest" | |
/income/verification/summary/get: | |
post: | |
summary: (Deprecated) Retrieve a summary of information derived from income verification | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products/#incomeverificationsummaryget | |
operationId: incomeVerificationSummaryGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationSummaryGetResponse" | |
examples: | |
example-1: | |
value: | |
income_summaries: | |
- employee_name: | |
value: ANNA CHARLESTON | |
verification_status: UNVERIFIED | |
employer_name: | |
value: PLAID INC | |
verification_status: UNVERIFIED | |
pay_frequency: | |
value: semimonthly | |
verification_status: UNVERIFIED | |
projected_wage: | |
value: 100000 | |
verification_status: UNVERIFIED | |
verified_transaction: | |
account_id: "" | |
amount: 0 | |
date: "" | |
description: "" | |
transaction_id: "" | |
ytd_gross_income: | |
value: 59375 | |
verification_status: UNVERIFIED | |
ytd_net_income: | |
value: 66205.35 | |
verification_status: UNVERIFIED | |
request_id: LhQf0THi8SH1yJm | |
description: "`/income/verification/summary/get` returns a verification summary for the income that was verified for an end user. 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." | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationSummaryGetRequest" | |
/income/verification/paystub/get: | |
post: | |
summary: (Deprecated) Retrieve information from a single paystub used for income verification | |
deprecated: true | |
tags: | |
- plaid | |
operationId: incomeVerificationPaystubGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationPaystubGetResponse" | |
examples: | |
example-1: | |
value: | |
request_id: 2pxQ59buGdsHRef | |
document_metadata: | |
- name: paystub.pdf | |
status: DOCUMENT_STATUS_PROCESSING_COMPLETE | |
doc_id: 2jkflanbd | |
paystub: | |
deductions: | |
subtotals: [] | |
totals: [] | |
doc_id: 2jkflanbd | |
earnings: | |
subtotals: [] | |
totals: [] | |
employee: | |
address: | |
city: SAN FRANCISCO | |
country: US | |
postal_code: "94133" | |
region: CA | |
street: 2140 TAYLOR ST | |
name: ANNA CHARLESTON | |
employer: | |
name: PLAID INC | |
address: | |
city: SAN FRANCISCO | |
country: US | |
postal_code: "94111" | |
region: CA | |
street: 1098 HARRISON ST | |
employment_details: | |
annual_salary: | |
amount: 60000 | |
currency: USD | |
hire_date: "2020-09-15" | |
net_pay: | |
distribution_details: [] | |
total: | |
canonical_description: NET PAY | |
description: TOTAL NET PAY | |
ytd_pay: | |
amount: 39456 | |
currency: USD | |
current_pay: | |
amount: 1490.21 | |
currency: USD | |
income_breakdown: [] | |
pay_period_details: | |
check_amount: 1490.21 | |
end_date: "2020-12-15" | |
gross_earnings: 4500 | |
pay_day: "2020-12-15" | |
start_date: "2020-12-01" | |
paystub_details: | |
pay_frequency: BI-WEEKLY | |
paystub_provider: ADP | |
pay_period_start_date: "2020-12-01" | |
pay_period_end_date: "2020-12-15" | |
pay_date: "2020-12-15" | |
ytd_earnings: | |
gross_earnings: 59375 | |
net_earnings: 39456 | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationPaystubGetRequest" | |
/income/verification/paystubs/get: | |
post: | |
summary: Retrieve information from the paystubs used for income verification | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products/#incomeverificationpaystubsget | |
operationId: incomeVerificationPaystubsGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationPaystubsGetResponse" | |
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 | |
name: ANNA CHARLESTON | |
marital_status: single | |
taxpayer_id: | |
id_type: SSN | |
id_mask: "3333" | |
employer: | |
name: PLAID INC | |
address: | |
city: SAN FRANCISCO | |
country: US | |
postal_code: "94111" | |
region: CA | |
street: 1098 HARRISON ST | |
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: "2020-12-15" | |
gross_earnings: 4500 | |
pay_date: "2020-12-15" | |
start_date: "2020-12-01" | |
pay_frequency: PAY_FREQUENCY_BIWEEKLY | |
verification: | |
verification_status: PAYSTUB_VERIFICATION_STATUS_VERIFIED | |
verification_attributes: [] | |
request_id: 2pxQ59buGdsHRef | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationPaystubsGetRequest" | |
description: "" | |
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." | |
/income/verification/documents/download: | |
post: | |
summary: Download the original documents used for income verification | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products/#incomeverificationdocumentsdownload | |
operationId: incomeVerificationDocumentsDownload | |
responses: | |
"200": | |
description: A ZIP file containing source documents(s) used as the basis for income verification. | |
content: | |
application/zip: | |
schema: | |
type: string | |
format: binary | |
description: |- | |
`/income/verification/documents/download` provides the ability to download the source documents associated with the verification. | |
If Document Income was used, the documents will be those the user provided in Link. For Payroll Income, the most recent files available | |
for download from the payroll provider will be available from this endpoint. | |
The response to `/income/verification/documents/download` is ZIP file in binary data. If a document_id is passed, a single document will be contained in this file. | |
If not, the response will contain all documents associated with the verification. | |
The `request_id` is returned in the `Plaid-Request-ID` header. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationDocumentsDownloadRequest" | |
parameters: [] | |
/income/verification/refresh: | |
post: | |
tags: | |
- plaid | |
summary: Refresh an income verification | |
externalDocs: | |
url: /api/products/#incomeverificationrefresh | |
operationId: incomeVerificationRefresh | |
description: "`/income/verification/refresh` refreshes a given income verification." | |
responses: | |
"200": | |
description: success | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationRefreshResponse" | |
examples: | |
example-1: | |
value: | |
request_id: nTkbCH41HYmpbm5 | |
verification_refresh_status: VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationRefreshRequest" | |
/income/verification/taxforms/get: | |
post: | |
tags: | |
- plaid | |
summary: Retrieve information from the tax documents used for income verification | |
externalDocs: | |
url: /api/products/#incomeverificationtaxformsget | |
operationId: incomeVerificationTaxformsGet | |
description: "`/income/verification/taxforms/get` returns the information collected from taxforms 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." | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationTaxformsGetResponse" | |
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 | |
name: Josie Georgia Harrison | |
marital_status: single | |
taxpayer_id: | |
id_type: SSN | |
id_mask: "1234" | |
employer: | |
address: | |
city: New York | |
country: US | |
postal_code: "10010" | |
region: NY | |
street: 456 Main St | |
name: Acme Inc | |
employee_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_ppay: CHECKED | |
wages_tips_other_comp: "1000" | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationTaxformsGetRequest" | |
description: "" | |
/income/verification/precheck: | |
post: | |
summary: Check a user's eligibility for the income verification product | |
tags: | |
- plaid | |
operationId: incomeVerificationPrecheck | |
externalDocs: | |
url: /api/products/#incomeverificationprecheck | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckResponse" | |
examples: | |
example-1: | |
value: | |
request_id: lMjeOeu9X1VUh1F | |
precheck_id: n9elqYlvYm | |
confidence: HIGH | |
description: "`/income/verification/precheck` returns whether a given user is supportable by the income product" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckRequest" | |
/employment/verification/get: | |
post: | |
summary: Retrieve a summary of an individual's employment information. | |
tags: | |
- plaid | |
operationId: employmentVerificationGet | |
externalDocs: | |
url: /api/products/#employmentverificationget | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/EmploymentVerificationGetResponse" | |
examples: | |
example-1: | |
value: | |
employments: | |
- status: EMPLOYMENT_STATUS_ACTIVE | |
start_date: "2020-01-01" | |
end_date: null | |
employer: | |
name: Plaid Inc | |
title: Software Engineer | |
platform_ids: | |
employee_id: "1234567" | |
position_id: "8888" | |
payroll_id: "1234567" | |
request_id: LhQf0THi8SH1yJm | |
description: "`/employment/verification/get` returns a list of employments through a user payroll that was verified by an end user." | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/EmploymentVerificationGetRequest" | |
/deposit_switch/alt/create: | |
post: | |
summary: Create a deposit switch without using Plaid Exchange | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/products#deposit_switchaltcreate | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchAltCreateResponse" | |
examples: | |
example-1: | |
value: | |
deposit_switch_id: c7jMwPPManIwy9rwMewWP7lpb4pKRbtrbMomp | |
request_id: lMjeOeu9X1VUh1F | |
operationId: depositSwitchAltCreate | |
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. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/DepositSwitchAltCreateRequest" | |
/sandbox/bank_transfer/fire_webhook: | |
post: | |
summary: Manually fire a Bank Transfer webhook | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/sandbox/#sandboxbank_transferfire_webhook | |
operationId: sandboxBankTransferFireWebhook | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxBankTransferFireWebhookResponse" | |
examples: | |
example-1: | |
value: | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/sandbox/bank_transfer/fire_webhook` endpoint to manually trigger a Bank Transfers webhook in the Sandbox environment. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxBankTransferFireWebhookRequest" | |
/sandbox/income/fire_webhook: | |
post: | |
summary: Manually fire an Income webhook | |
tags: | |
- plaid | |
externalDocs: | |
url: /api/sandbox/#sandboxincomefire_webhook | |
operationId: sandboxIncomeFireWebhook | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxIncomeFireWebhookResponse" | |
examples: | |
example-1: | |
value: | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
description: Use the `/sandbox/income/fire_webhook` endpoint to manually trigger an Income webhook in the Sandbox environment. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxIncomeFireWebhookRequest" | |
/sandbox/oauth/select_accounts: | |
post: | |
summary: Save the selected accounts when connecting to the Platypus Oauth institution | |
tags: | |
- plaid | |
operationId: sandboxOauthSelectAccounts | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxOauthSelectAccountsResponse" | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SandboxOauthSelectAccountsRequest" | |
/signal/evaluate: | |
post: | |
tags: | |
- plaid | |
summary: Evaluate a planned ACH transaction | |
externalDocs: | |
url: /signal/reference#signalevaluate | |
operationId: signalEvaluate | |
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. | |
In 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. | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SignalEvaluateResponse" | |
examples: | |
example-1: | |
value: | |
scores: | |
customer_initiated_return_risk: | |
score: 9 | |
risk_tier: 1 | |
bank_initiated_return_risk: | |
score: 72 | |
risk_tier: 7 | |
core_attributes: | |
days_since_first_plaid_connection: 510 | |
plaid_connections_count_7d: 6 | |
plaid_connections_count_30d: 7 | |
total_plaid_connections_count: 15 | |
is_savings_or_money_market_account: false | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SignalEvaluateRequest" | |
/signal/decision/report: | |
post: | |
tags: | |
- plaid | |
summary: Report whether you initiated an ACH transaction | |
externalDocs: | |
url: /signal/reference#signaldecisionreport | |
operationId: signalDecisionReport | |
description: After calling `/signal/evaluate`, call `/signal/decision/report` to report whether the transaction was initiated. This endpoint will return an `INVALID_REQUEST` error if called a second time with a different value for `initiated`. | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SignalDecisionReportResponse" | |
examples: | |
example-1: | |
value: | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SignalDecisionReportRequest" | |
/signal/return/report: | |
post: | |
tags: | |
- plaid | |
summary: Report a return for an ACH transaction | |
externalDocs: | |
url: /signal/reference#signalreturnreport | |
operationId: signalReturnReport | |
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. | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SignalReturnReportResponse" | |
examples: | |
example-1: | |
value: | |
request_id: mdqfuVxeoza6mhu | |
default: | |
description: Error response. | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/Error" | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/SignalReturnReportRequest" | |
/wallet/get: | |
post: | |
tags: | |
- plaid | |
summary: Fetch an e-wallet | |
externalDocs: | |
url: /api/products/#walletget | |
operationId: walletGet | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WalletGetResponse" | |
examples: | |
example-1: | |
value: | |
wallet_id: wallet-id-sandbox-53e58b32-fc1c-46fe-bbd6-e584b27a88 | |
balance: | |
iso_currency_code: GBP | |
current: 123.12 | |
request_id: 4zlKapIkTm8p5KM | |
description: | | |
Fetch an e-wallet. The response includes the current balance. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WalletGetRequest" | |
/wallet/transaction/execute: | |
post: | |
tags: | |
- plaid | |
summary: Execute a transaction using an e-wallet | |
externalDocs: | |
url: /api/products/#wallettransactionexecute | |
operationId: walletTransactionExecute | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WalletTransactionExecuteResponse" | |
examples: | |
example-1: | |
value: | |
transaction_id: wallet-transaction-id-production-53e58b32-fc1c-46fe-bbd6-e584b27a88 | |
status: EXECUTED | |
request_id: 4zlKapIkTm8p5KM | |
description: | | |
Execute a transaction using the specified e-wallet. Specify the e-wallet to debit from, the counterparty to credit to, the idempotency key to prevent duplicate payouts, the amount and reference for the payout. The payouts are executed over the Faster Payment rails, where settlement usually only takes a few seconds. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WalletTransactionExecuteRequest" | |
/wallet/transactions/list: | |
post: | |
tags: | |
- plaid | |
summary: List e-wallet transactions | |
externalDocs: | |
url: /api/products/#wallettransactionslist | |
operationId: walletTransactionsList | |
responses: | |
"200": | |
description: OK | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WalletTransactionsListResponse" | |
examples: | |
example-1: | |
value: | |
next_cursor: YWJjMTIzIT8kKiYoKSctPUB | |
transactions: | |
- transaction_id: wallet-transaction-id-sandbox-feca8a7a-5591-4aef-9297-f3062bb735d3 | |
type: PAYOUT | |
reference: Payout 99744 | |
amount: | |
iso_currency_code: GBP | |
value: 123.12 | |
status: EXECUTED | |
created_at: "2020-12-02T21:14:54Z" | |
counterparty: | |
numbers: | |
bacs: | |
account: "31926819" | |
sort_code: "601613" | |
name: John Smith | |
request_id: 4zlKapIkTm8p5KM | |
description: | | |
This endpoint lists the latest transactions of the specified e-wallet. Transactions are returned in descending order by the `created_at` time. | |
requestBody: | |
required: true | |
content: | |
application/json: | |
schema: | |
$ref: "#/components/schemas/WalletTransactionsListRequest" | |
components: | |
securitySchemes: | |
clientId: | |
type: apiKey | |
in: header | |
name: PLAID-CLIENT-ID | |
secret: | |
type: apiKey | |
in: header | |
name: PLAID-SECRET | |
plaidVersion: | |
type: apiKey | |
in: header | |
name: Plaid-Version | |
schemas: | |
ItemGetRequest: | |
description: ItemGetRequest defines the request schema for `/item/get` | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
required: | |
- access_token | |
ItemGetResponse: | |
type: object | |
additionalProperties: true | |
description: ItemGetResponse defines the response schema for `/item/get` and `/item/webhook/update` | |
properties: | |
item: | |
$ref: "#/components/schemas/Item" | |
status: | |
$ref: "#/components/schemas/ItemStatusNullable" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- item | |
- request_id | |
AuthGetRequest: | |
type: object | |
description: AuthGetRequest defines the request schema for `/auth/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
options: | |
$ref: "#/components/schemas/AuthGetRequestOptions" | |
required: | |
- access_token | |
AuthGetRequestOptions: | |
type: object | |
description: An optional object to filter `/auth/get` results. | |
properties: | |
account_ids: | |
type: array | |
description: |- | |
A list of `account_ids` to retrieve for the Item. | |
Note: An error will be returned if a provided `account_id` is not associated with the Item. | |
items: | |
type: string | |
AuthGetResponse: | |
type: object | |
additionalProperties: true | |
description: AuthGetResponse defines the response schema for `/auth/get` | |
properties: | |
accounts: | |
type: array | |
description: The `accounts` for which numbers are being retrieved. | |
items: | |
$ref: "#/components/schemas/AccountBase" | |
numbers: | |
$ref: "#/components/schemas/AuthGetNumbers" | |
item: | |
$ref: "#/components/schemas/Item" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- accounts | |
- numbers | |
- item | |
- request_id | |
AuthGetNumbers: | |
type: object | |
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: | |
type: array | |
description: An array of ACH numbers identifying accounts. | |
items: | |
$ref: "#/components/schemas/NumbersACH" | |
eft: | |
type: array | |
description: An array of EFT numbers identifying accounts. | |
items: | |
$ref: "#/components/schemas/NumbersEFT" | |
international: | |
type: array | |
description: An array of IBAN numbers identifying accounts. | |
items: | |
$ref: "#/components/schemas/NumbersInternational" | |
bacs: | |
type: array | |
description: An array of BACS numbers identifying accounts. | |
items: | |
$ref: "#/components/schemas/NumbersBACS" | |
required: | |
- ach | |
- eft | |
- international | |
- bacs | |
TransactionsGetRequest: | |
type: object | |
description: TransactionsGetRequest defines the request schema for `/transactions/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
options: | |
$ref: "#/components/schemas/TransactionsGetRequestOptions" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
start_date: | |
type: string | |
format: date | |
description: The earliest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. | |
end_date: | |
type: string | |
format: date | |
description: The latest date for which data should be returned. Dates should be formatted as YYYY-MM-DD. | |
required: | |
- access_token | |
- start_date | |
- end_date | |
TransactionsGetRequestOptions: | |
type: object | |
description: An optional object to be used with the request. If specified, `options` must not be `null`. | |
properties: | |
account_ids: | |
type: array | |
description: |- | |
A list of `account_ids` to retrieve for the Item | |
Note: An error will be returned if a provided `account_id` is not associated with the Item. | |
items: | |
type: string | |
count: | |
type: integer | |
default: 100 | |
description: The number of transactions to fetch. | |
minimum: 1 | |
maximum: 500 | |
exclusiveMinimum: false | |
offset: | |
type: integer | |
default: 0 | |
description: The number of transactions to skip. The default value is 0. | |
minimum: 0 | |
include_original_description: | |
type: boolean | |
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. | |
nullable: true | |
include_personal_finance_category_beta: | |
type: boolean | |
default: false | |
description: Include the `personal_finance_category` object in the response. This feature is currently in beta – to request access, contact transactions-feedback@plaid.com. | |
TransactionsGetResponse: | |
type: object | |
additionalProperties: true | |
description: TransactionsGetResponse defines the response schema for `/transactions/get` | |
properties: | |
accounts: | |
type: array | |
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" | |
transactions: | |
type: array | |
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" | |
total_transactions: | |
type: integer | |
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. | |
item: | |
$ref: "#/components/schemas/Item" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- accounts | |
- transactions | |
- total_transactions | |
- item | |
- request_id | |
TransactionsRefreshRequest: | |
type: object | |
description: TransactionsRefreshRequest defines the request schema for `/transactions/refresh` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
required: | |
- access_token | |
TransactionsRefreshResponse: | |
type: object | |
description: TransactionsRefreshResponse defines the response schema for `/transactions/refresh` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
TransactionsRecurringGetRequest: | |
type: object | |
description: TransactionsRecurringGetRequest defines the request schema for `/transactions/recurring/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
account_ids: | |
type: array | |
description: |- | |
A list of `account_ids` to retrieve for the Item | |
Note: An error will be returned if a provided `account_id` is not associated with the Item. | |
items: | |
type: string | |
required: | |
- access_token | |
- account_ids | |
TransactionsRecurringGetResponse: | |
type: object | |
additionalProperties: true | |
description: TransactionsRecurringGetResponse defines the response schema for `/transactions/recurring/get` | |
properties: | |
inflow_streams: | |
type: array | |
description: An array of depository transaction streams. | |
items: | |
$ref: "#/components/schemas/TransactionStream" | |
outflow_streams: | |
type: array | |
description: An array of expense transaction streams. | |
items: | |
$ref: "#/components/schemas/TransactionStream" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- inflow_streams | |
- outflow_streams | |
- request_id | |
TransactionsSyncRequest: | |
type: object | |
description: TransactionsSyncRequest defines the request schema for `/transactions/sync` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
cursor: | |
type: string | |
description: |- | |
The cursor value represents the last update requested. Providing it will cause the response to only return changes after this update. | |
If omitted, the entire history of updates will be returned, starting with the first-added transactions on the item. | |
Note: The upper-bound length of this cursor is 256 characters of base64. | |
count: | |
type: integer | |
default: 100 | |
description: The number of transaction updates to fetch. | |
minimum: 1 | |
maximum: 500 | |
exclusiveMinimum: false | |
required: | |
- access_token | |
TransactionsSyncResponse: | |
type: object | |
description: TransactionsSyncResponse defines the response schema for `/transactions/sync` | |
properties: | |
added: | |
type: array | |
description: Transactions that have been added to the item since `cursor` ordered by ascending last modified time. | |
items: | |
$ref: "#/components/schemas/Transaction" | |
modified: | |
type: array | |
description: Transactions that have been modified on the item since `cursor` ordered by ascending last modified time. | |
items: | |
$ref: "#/components/schemas/Transaction" | |
removed: | |
type: array | |
description: Transactions that have been removed from the item since `cursor` ordered by ascending last modified time. | |
items: | |
$ref: "#/components/schemas/RemovedTransaction" | |
next_cursor: | |
type: string | |
description: Cursor used for fetching any future updates after the latest update provided in this response. | |
has_more: | |
type: boolean | |
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`. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- added | |
- modified | |
- removed | |
- next_cursor | |
- has_more | |
- request_id | |
InstitutionsGetRequest: | |
type: object | |
description: InstitutionsGetRequest defines the request schema for `/institutions/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
count: | |
type: integer | |
maximum: 500 | |
description: The total number of Institutions to return. | |
offset: | |
type: integer | |
description: The number of Institutions to skip. | |
country_codes: | |
type: array | |
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" | |
minItems: 1 | |
items: | |
$ref: "#/components/schemas/CountryCode" | |
options: | |
$ref: "#/components/schemas/InstitutionsGetRequestOptions" | |
required: | |
- count | |
- offset | |
- country_codes | |
InstitutionsGetRequestOptions: | |
type: object | |
description: An optional object to filter `/institutions/get` results. | |
properties: | |
products: | |
type: array | |
description: "Filter the Institutions based on which products they support. " | |
items: | |
$ref: "#/components/schemas/Products" | |
routing_numbers: | |
type: array | |
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 | |
oauth: | |
type: boolean | |
description: Limit results to institutions with or without OAuth login flows. This is primarily relevant to institutions with European country codes. | |
include_optional_metadata: | |
type: boolean | |
description: |- | |
When `true`, return the institution's homepage URL, logo and primary brand color. | |
Note 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. | |
include_auth_metadata: | |
type: boolean | |
default: false | |
description: When `true`, returns metadata related to the Auth product indicating which auth methods are supported. | |
include_payment_initiation_metadata: | |
type: boolean | |
default: false | |
description: When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported. | |
InstitutionsGetResponse: | |
type: object | |
additionalProperties: true | |
description: InstitutionsGetResponse defines the response schema for `/institutions/get` | |
properties: | |
institutions: | |
type: array | |
description: A list of Plaid Institution | |
items: | |
$ref: "#/components/schemas/Institution" | |
total: | |
type: integer | |
description: The total number of institutions available via this endpoint | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- institutions | |
- total | |
- request_id | |
InstitutionsSearchRequest: | |
type: object | |
description: InstitutionsSearchRequest defines the request schema for `/institutions/search` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
query: | |
type: string | |
description: The search query. Institutions with names matching the query are returned | |
products: | |
type: array | |
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. | |
minItems: 1 | |
items: | |
$ref: "#/components/schemas/Products" | |
country_codes: | |
type: array | |
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. | |
items: | |
$ref: "#/components/schemas/CountryCode" | |
options: | |
$ref: "#/components/schemas/InstitutionsSearchRequestOptions" | |
required: | |
- query | |
- products | |
- country_codes | |
InstitutionsSearchRequestOptions: | |
type: object | |
description: An optional object to filter `/institutions/search` results. | |
properties: | |
oauth: | |
type: boolean | |
description: Limit results to institutions with or without OAuth login flows. This is primarily relevant to institutions with European country codes | |
include_optional_metadata: | |
type: boolean | |
description: When true, return the institution's homepage URL, logo and primary brand color. | |
include_auth_metadata: | |
type: boolean | |
default: false | |
description: When `true`, returns metadata related to the Auth product indicating which auth methods are supported. | |
include_payment_initiation_metadata: | |
type: boolean | |
default: false | |
description: When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported. | |
payment_initiation: | |
$ref: "#/components/schemas/InstitutionsSearchPaymentInitiationOptions" | |
InstitutionsSearchPaymentInitiationOptions: | |
type: object | |
description: Additional options that will be used to filter institutions by various Payment Initiation configurations. | |
additionalProperties: true | |
nullable: true | |
properties: | |
payment_id: | |
type: string | |
description: A unique ID identifying the payment | |
InstitutionsSearchResponse: | |
type: object | |
additionalProperties: true | |
description: InstitutionsSearchResponse defines the response schema for `/institutions/search` | |
properties: | |
institutions: | |
type: array | |
description: An array of institutions matching the search criteria | |
items: | |
$ref: "#/components/schemas/Institution" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- institutions | |
- request_id | |
InstitutionsGetByIdRequest: | |
type: object | |
description: InstitutionsGetByIdRequest defines the request schema for `/institutions/get_by_id` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
institution_id: | |
type: string | |
description: The ID of the institution to get details about | |
country_codes: | |
type: array | |
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. | |
items: | |
$ref: "#/components/schemas/CountryCode" | |
options: | |
$ref: "#/components/schemas/InstitutionsGetByIdRequestOptions" | |
required: | |
- institution_id | |
- country_codes | |
InstitutionsGetByIdRequestOptions: | |
type: object | |
description: Specifies optional parameters for `/institutions/get_by_id`. If provided, must not be `null`. | |
properties: | |
include_optional_metadata: | |
default: false | |
type: boolean | |
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`. | |
Note 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. | |
include_status: | |
type: boolean | |
default: false | |
description: If `true`, the response will include status information about the institution. Default value is `false`. | |
include_auth_metadata: | |
type: boolean | |
default: false | |
description: When `true`, returns metadata related to the Auth product indicating which auth methods are supported. | |
include_payment_initiation_metadata: | |
type: boolean | |
default: false | |
description: When `true`, returns metadata related to the Payment Initiation product indicating which payment configurations are supported. | |
InstitutionsGetByIdResponse: | |
type: object | |
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 | |
ItemRemoveRequest: | |
type: object | |
description: ItemRemoveRequest defines the request schema for `/item/remove` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
required: | |
- access_token | |
ItemRemoveResponse: | |
type: object | |
additionalProperties: true | |
description: ItemRemoveResponse defines the response schema for `/item/remove` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
AccountsGetRequest: | |
type: object | |
description: AccountsGetRequest defines the request schema for `/accounts/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
options: | |
$ref: "#/components/schemas/AccountsGetRequestOptions" | |
required: | |
- access_token | |
x-examples: | |
example-1: {} | |
AccountsGetRequestOptions: | |
type: object | |
description: An optional object to filter `/accounts/get` results. | |
properties: | |
account_ids: | |
type: array | |
description: An array of `account_ids` to retrieve for the Account. | |
items: | |
type: string | |
AccountsGetResponse: | |
type: object | |
additionalProperties: true | |
description: AccountsGetResponse defines the response schema for `/accounts/get` and `/accounts/balance/get`. | |
properties: | |
accounts: | |
type: array | |
description: |- | |
An array of financial institution accounts associated with the Item. | |
If `/accounts/balance/get` was called, each account will include real-time balance information. | |
items: | |
$ref: "#/components/schemas/AccountBase" | |
item: | |
$ref: "#/components/schemas/Item" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- accounts | |
- item | |
- request_id | |
CategoriesGetRequest: | |
type: object | |
description: CategoriesGetRequest defines the request schema for `/categories/get` | |
CategoriesGetResponse: | |
type: object | |
additionalProperties: true | |
description: CategoriesGetResponse defines the response schema for `/categories/get` | |
properties: | |
categories: | |
type: array | |
description: An array of all of the transaction categories used by Plaid. | |
items: | |
$ref: "#/components/schemas/Category" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- categories | |
- request_id | |
SandboxOverridePassword: | |
type: string | |
nullable: true | |
default: pass_good | |
description: Test password to use for the creation of the Sandbox Item. Default value is `pass_good`. | |
SandboxOverrideUsername: | |
type: string | |
nullable: true | |
default: user_good | |
description: Test username to use for the creation of the Sandbox Item. Default value is `user_good`. | |
SandboxProcessorTokenCreateRequest: | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
institution_id: | |
type: string | |
description: The ID of the institution the Item will be associated with | |
options: | |
$ref: "#/components/schemas/SandboxProcessorTokenCreateRequestOptions" | |
required: | |
- institution_id | |
SandboxProcessorTokenCreateRequestOptions: | |
type: object | |
description: An optional set of options to be used when configuring the Item. If specified, must not be `null`. | |
properties: | |
override_username: | |
$ref: "#/components/schemas/SandboxOverrideUsername" | |
override_password: | |
$ref: "#/components/schemas/SandboxOverridePassword" | |
SandboxProcessorTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
properties: | |
processor_token: | |
type: string | |
description: A processor token that can be used to call the `/processor/` endpoints. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
description: "" | |
required: | |
- processor_token | |
- request_id | |
SandboxPublicTokenCreateRequest: | |
type: object | |
description: SandboxPublicTokenCreateRequest defines the request schema for `/sandbox/public_token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
institution_id: | |
type: string | |
description: The ID of the institution the Item will be associated with | |
initial_products: | |
type: array | |
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 | |
options: | |
$ref: "#/components/schemas/SandboxPublicTokenCreateRequestOptions" | |
required: | |
- institution_id | |
- initial_products | |
SandboxPublicTokenCreateRequestOptions: | |
type: object | |
description: An optional set of options to be used when configuring the Item. If specified, must not be `null`. | |
properties: | |
webhook: | |
type: string | |
description: Specify a webhook to associate with the new Item. | |
override_username: | |
$ref: "#/components/schemas/SandboxOverrideUsername" | |
override_password: | |
$ref: "#/components/schemas/SandboxOverridePassword" | |
transactions: | |
$ref: "#/components/schemas/SandboxPublicTokenCreateRequestOptionsTransactions" | |
SandboxPublicTokenCreateRequestOptionsTransactions: | |
type: object | |
description: An optional set of parameters corresponding to transactions options. | |
properties: | |
start_date: | |
type: string | |
format: date | |
description: The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. | |
end_date: | |
type: string | |
format: date | |
description: The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. | |
title: SandboxPublicTokenCreateRequestOptionsTransactions | |
SandboxPublicTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: SandboxPublicTokenCreateResponse defines the response schema for `/sandbox/public_token/create` | |
properties: | |
public_token: | |
type: string | |
description: A public token that can be exchanged for an access token using `/item/public_token/exchange` | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- public_token | |
- request_id | |
SandboxItemFireWebhookRequest: | |
type: object | |
description: SandboxItemFireWebhookRequest defines the request schema for `/sandbox/item/fire_webhook` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
webhook_code: | |
type: string | |
enum: | |
- DEFAULT_UPDATE | |
description: |- | |
The following values for `webhook_code` are supported: | |
* `DEFAULT_UPDATE` | |
required: | |
- access_token | |
- webhook_code | |
SandboxItemFireWebhookResponse: | |
type: object | |
additionalProperties: true | |
description: SandboxItemFireWebhookResponse defines the response schema for `/sandbox/item/fire_webhook` | |
properties: | |
webhook_fired: | |
type: boolean | |
description: Value is `true` if the test` webhook_code` was successfully fired. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- webhook_fired | |
- request_id | |
AccountsBalanceGetRequest: | |
type: object | |
description: AccountsBalanceGetRequest defines the request schema for `/accounts/balance/get` | |
properties: | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
options: | |
$ref: "#/components/schemas/AccountsBalanceGetRequestOptions" | |
required: | |
- access_token | |
AccountsBalanceGetRequestOptions: | |
type: object | |
description: An optional object to filter `/accounts/balance/get` results. | |
properties: | |
account_ids: | |
type: array | |
description: |- | |
A list of `account_ids` to retrieve for the Item. The default value is `null`. | |
Note: An error will be returned if a provided `account_id` is not associated with the Item. | |
items: | |
type: string | |
min_last_updated_datetime: | |
$ref: "#/components/schemas/MinLastUpdatedDatetime" | |
MinLastUpdatedDatetime: | |
title: MinLastUpdatedDatetime | |
type: string | |
format: date-time | |
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`. | |
If 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. | |
This 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. | |
IdentityGetRequest: | |
type: object | |
description: IdentityGetRequest defines the request schema for `/identity/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
options: | |
$ref: "#/components/schemas/IdentityGetRequestOptions" | |
required: | |
- access_token | |
IdentityGetRequestOptions: | |
type: object | |
description: An optional object to filter `/identity/get` results. | |
properties: | |
account_ids: | |
type: array | |
description: |- | |
A list of `account_ids` to retrieve for the Item. | |
Note: An error will be returned if a provided `account_id` is not associated with the Item. | |
items: | |
type: string | |
IdentityGetResponse: | |
type: object | |
additionalProperties: true | |
description: IdentityGetResponse defines the response schema for `/identity/get` | |
properties: | |
accounts: | |
type: array | |
description: The accounts for which Identity data has been requested | |
items: | |
$ref: "#/components/schemas/AccountIdentity" | |
item: | |
$ref: "#/components/schemas/Item" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- accounts | |
- item | |
- request_id | |
ProcessorAuthGetRequest: | |
type: object | |
description: ProcessorAuthGetRequest defines the request schema for `/processor/auth/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
processor_token: | |
$ref: "#/components/schemas/ProcessorToken" | |
required: | |
- processor_token | |
ProcessorAuthGetResponse: | |
type: object | |
additionalProperties: true | |
description: ProcessorAuthGetResponse defines the response schema for `/processor/auth/get` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
numbers: | |
$ref: "#/components/schemas/ProcessorNumber" | |
account: | |
$ref: "#/components/schemas/AccountBase" | |
required: | |
- request_id | |
- numbers | |
- account | |
ProcessorBankTransferCreateRequest: | |
title: ProcessorBankTransferCreateRequest | |
type: object | |
description: Defines the request schema for `/processor/bank_transfer/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
idempotency_key: | |
$ref: "#/components/schemas/BankTransferIdempotencyKey" | |
processor_token: | |
$ref: "#/components/schemas/ProcessorToken" | |
type: | |
$ref: "#/components/schemas/BankTransferType" | |
network: | |
$ref: "#/components/schemas/BankTransferNetwork" | |
amount: | |
$ref: "#/components/schemas/BankTransferAmount" | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount – should be set to "USD". | |
description: | |
type: string | |
description: The transfer description. Maximum of 10 characters. | |
maxLength: 10 | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
user: | |
$ref: "#/components/schemas/BankTransferUser" | |
custom_tag: | |
type: string | |
maxLength: 100 | |
nullable: true | |
description: An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters. | |
metadata: | |
$ref: "#/components/schemas/BankTransferMetadata" | |
origination_account_id: | |
type: string | |
nullable: 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. | |
required: | |
- idempotency_key | |
- processor_token | |
- type | |
- network | |
- amount | |
- iso_currency_code | |
- description | |
- user | |
ProcessorBankTransferCreateResponse: | |
title: ProcessorBankTransferCreateResponse | |
type: object | |
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 | |
ProcessorNumber: | |
type: object | |
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" | |
eft: | |
$ref: "#/components/schemas/NumbersEFTNullable" | |
international: | |
$ref: "#/components/schemas/NumbersInternationalNullable" | |
bacs: | |
$ref: "#/components/schemas/NumbersBACSNullable" | |
ProcessorIdentityGetRequest: | |
type: object | |
description: ProcessorIdentityGetRequest defines the request schema for `/processor/identity/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
processor_token: | |
$ref: "#/components/schemas/ProcessorToken" | |
required: | |
- processor_token | |
ProcessorIdentityGetResponse: | |
type: object | |
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 | |
ProcessorBalanceGetRequest: | |
type: object | |
description: ProcessorBalanceGetRequest defines the request schema for `/processor/balance/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
processor_token: | |
$ref: "#/components/schemas/ProcessorToken" | |
options: | |
$ref: "#/components/schemas/ProcessorBalanceGetRequestOptions" | |
required: | |
- processor_token | |
ProcessorBalanceGetRequestOptions: | |
type: object | |
description: An optional object to filter `/processor/balance/get` results. | |
properties: | |
min_last_updated_datetime: | |
$ref: "#/components/schemas/MinLastUpdatedDatetime" | |
ProcessorBalanceGetResponse: | |
type: object | |
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 | |
ItemWebhookUpdateRequest: | |
type: object | |
description: ItemWebhookUpdateRequest defines the request schema for `/item/webhook/update` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
webhook: | |
type: string | |
description: The new webhook URL to associate with the Item. | |
nullable: true | |
required: | |
- access_token | |
ItemWebhookUpdateResponse: | |
type: object | |
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 | |
ItemAccessTokenInvalidateRequest: | |
type: object | |
description: ItemAccessTokenInvalidateRequest defines the request schema for `/item/access_token/invalidate` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
required: | |
- access_token | |
ItemAccessTokenInvalidateResponse: | |
type: object | |
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 | |
WebhookVerificationKeyGetRequest: | |
type: object | |
description: WebhookVerificationKeyGetRequest defines the request schema for `/webhook_verification_key/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
key_id: | |
type: string | |
description: The key ID ( `kid` ) from the JWT header. | |
required: | |
- key_id | |
WebhookVerificationKeyGetResponse: | |
type: object | |
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 | |
JWKPublicKey: | |
type: object | |
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: | |
type: string | |
description: The alg member identifies the cryptographic algorithm family used with the key. | |
crv: | |
type: string | |
description: The crv member identifies the cryptographic curve used with the key. | |
kid: | |
type: string | |
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. | |
kty: | |
type: string | |
description: The kty (key type) parameter identifies the cryptographic algorithm family used with the key, such as RSA or EC. | |
use: | |
type: string | |
description: The use (public key use) parameter identifies the intended use of the public key. | |
x: | |
type: string | |
description: The x member contains the x coordinate for the elliptic curve point. | |
"y": | |
type: string | |
description: The y member contains the y coordinate for the elliptic curve point. | |
created_at: | |
type: integer | |
description: The timestamp when the key was created, in Unix time. | |
expired_at: | |
type: integer | |
description: The timestamp when the key expired, in Unix time. | |
nullable: true | |
required: | |
- alg | |
- kid | |
- kty | |
- crv | |
- x | |
- "y" | |
- use | |
- created_at | |
- expired_at | |
LiabilitiesGetRequest: | |
type: object | |
description: LiabilitiesGetRequest defines the request schema for `/liabilities/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
options: | |
$ref: "#/components/schemas/LiabilitiesGetRequestOptions" | |
required: | |
- access_token | |
LiabilitiesGetRequestOptions: | |
type: object | |
description: An optional object to filter `/liabilities/get` results. If provided, `options` cannot be null. | |
properties: | |
account_ids: | |
type: array | |
description: |- | |
A list of accounts to retrieve for the Item. | |
An error will be returned if a provided `account_id` is not associated with the Item | |
items: | |
type: string | |
LiabilitiesGetResponse: | |
type: object | |
additionalProperties: true | |
description: LiabilitiesGetResponse defines the response schema for `/liabilities/get` | |
properties: | |
accounts: | |
type: array | |
description: An array of accounts associated with the Item | |
items: | |
$ref: "#/components/schemas/AccountBase" | |
item: | |
$ref: "#/components/schemas/Item" | |
liabilities: | |
$ref: "#/components/schemas/LiabilitiesObject" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- accounts | |
- item | |
- liabilities | |
- request_id | |
PaymentInitiationRecipientCreateRequest: | |
type: object | |
description: PaymentInitiationRecipientCreateRequest defines the request schema for `/payment_initiation/recipient/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
name: | |
type: string | |
description: The name of the recipient | |
minLength: 1 | |
iban: | |
type: string | |
description: The International Bank Account Number (IBAN) for the recipient. If BACS data is not provided, an IBAN is required. | |
nullable: true | |
minLength: 15 | |
maxLength: 34 | |
bacs: | |
$ref: "#/components/schemas/RecipientBACSNullable" | |
address: | |
$ref: "#/components/schemas/PaymentInitiationAddress" | |
required: | |
- name | |
PaymentInitiationRecipientCreateResponse: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationRecipientCreateResponse defines the response schema for `/payment_initation/recipient/create` | |
properties: | |
recipient_id: | |
type: string | |
description: A unique ID identifying the recipient | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- recipient_id | |
- request_id | |
PaymentInitiationPaymentReverseResponse: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationPaymentReverseResponse defines the response schema for `/payment_initation/payment/reverse` | |
properties: | |
refund_id: | |
type: string | |
description: A unique ID identifying the refund | |
status: | |
type: string | |
enum: | |
- PROCESSING | |
- EXECUTED | |
- INITIATED | |
- FAILED | |
description: |- | |
The status of the refund. | |
`PROCESSING`: The refund is currently being processed. The refund will automatically exit this state when processing is complete. | |
`INITIATED`: The refund has been successfully initiated. | |
`EXECUTED`: Indicates that the refund has been successfully executed. | |
`FAILED`: The refund has failed to be executed. This error is retryable once the root cause is resolved. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- refund_id | |
- request_id | |
- status | |
PaymentInitiationRecipientGetRequest: | |
type: object | |
description: PaymentInitiationRecipientGetRequest defines the request schema for `/payment_initiation/recipient/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
recipient_id: | |
type: string | |
description: The ID of the recipient | |
minLength: 1 | |
required: | |
- recipient_id | |
PaymentInitiationRecipientGetResponse: | |
additionalProperties: true | |
description: PaymentInitiationRecipientGetResponse defines the response schema for `/payment_initiation/recipient/get` | |
allOf: | |
- $ref: "#/components/schemas/PaymentInitiationRecipient" | |
- type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- recipient_id | |
- name | |
- request_id | |
PaymentInitiationRecipient: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationRecipient defines a payment initiation recipient | |
properties: | |
recipient_id: | |
type: string | |
description: The ID of the recipient. | |
name: | |
type: string | |
description: The name of the recipient. | |
address: | |
$ref: "#/components/schemas/PaymentInitiationAddress" | |
iban: | |
type: string | |
description: The International Bank Account Number (IBAN) for the recipient. | |
nullable: true | |
bacs: | |
$ref: "#/components/schemas/RecipientBACSNullable" | |
emi_recipient_id: | |
type: string | |
description: The EMI (E-Money Institution) recipient that this recipient is associated with, if any. This EMI recipient is used as an intermediary account to enable Plaid to reconcile the settlement of funds for Payment Initiation requests. | |
nullable: true | |
required: | |
- recipient_id | |
- name | |
title: PaymentInitiationRecipient | |
PaymentInitiationRecipientListRequest: | |
type: object | |
description: PaymentInitiationRecipientListRequest defines the request schema for `/payment_initiation/recipient/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
PaymentInitiationRecipientListResponse: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationRecipientListResponse defines the response schema for `/payment_initiation/recipient/list` | |
properties: | |
recipients: | |
type: array | |
description: An array of payment recipients created for Payment Initiation | |
items: | |
$ref: "#/components/schemas/PaymentInitiationRecipient" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- recipients | |
- request_id | |
PaymentInitiationPaymentCreateRequest: | |
type: object | |
description: PaymentInitiationPaymentCreateRequest defines the request schema for `/payment_initiation/payment/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
recipient_id: | |
type: string | |
description: The ID of the recipient the payment is for. | |
minLength: 1 | |
reference: | |
type: string | |
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). | |
minLength: 1 | |
maxLength: 18 | |
amount: | |
$ref: "#/components/schemas/PaymentAmount" | |
schedule: | |
$ref: "#/components/schemas/ExternalPaymentScheduleRequest" | |
options: | |
$ref: "#/components/schemas/ExternalPaymentOptions" | |
required: | |
- recipient_id | |
- reference | |
- amount | |
PaymentInitiationPaymentReverseRequest: | |
type: object | |
description: PaymentInitiationPaymentReverseRequest defines the request schema for `/payment_initiation/payment/reverse` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
payment_id: | |
type: string | |
description: The ID of the payment to reverse | |
minLength: 1 | |
required: | |
- payment_id | |
PaymentInitiationPaymentCreateResponse: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationPaymentCreateResponse defines the response schema for `/payment_initiation/payment/create` | |
properties: | |
payment_id: | |
type: string | |
description: A unique ID identifying the payment | |
status: | |
type: string | |
enum: | |
- PAYMENT_STATUS_INPUT_NEEDED | |
description: |- | |
For a payment returned by this endpoint, there is only one possible value: | |
`PAYMENT_STATUS_INPUT_NEEDED`: The initial phase of the payment | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- payment_id | |
- status | |
- request_id | |
SandboxItemResetLoginRequest: | |
type: object | |
description: SandboxItemResetLoginRequest defines the request schema for `/sandbox/item/reset_login` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
required: | |
- access_token | |
SandboxItemResetLoginResponse: | |
type: object | |
additionalProperties: true | |
description: SandboxItemResetLoginResponse defines the response schema for `/sandbox/item/reset_login` | |
properties: | |
reset_login: | |
type: boolean | |
description: "`true` if the call succeeded" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- reset_login | |
- request_id | |
SandboxItemSetVerificationStatusRequest: | |
type: object | |
description: SandboxItemSetVerificationStatusRequest defines the request schema for `/sandbox/item/set_verification_status` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
account_id: | |
type: string | |
description: The `account_id` of the account whose verification status is to be modified | |
verification_status: | |
enum: | |
- automatically_verified | |
- verification_expired | |
type: string | |
description: The verification status to set the account to. | |
required: | |
- access_token | |
- account_id | |
- verification_status | |
SandboxItemSetVerificationStatusResponse: | |
type: object | |
additionalProperties: true | |
description: SandboxItemSetVerificationStatusResponse defines the response schema for `/sandbox/item/set_verification_status` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
ItemPublicTokenExchangeRequest: | |
type: object | |
description: ItemPublicTokenExchangeRequest defines the request schema for `/item/public_token/exchange` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
public_token: | |
type: string | |
description: Your `public_token`, obtained from the Link `onSuccess` callback or `/sandbox/item/public_token/create`. | |
required: | |
- public_token | |
ItemPublicTokenExchangeResponse: | |
type: object | |
additionalProperties: true | |
description: ItemPublicTokenExchangeResponse defines the response schema for `/item/public_token/exchange` | |
properties: | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
item_id: | |
type: string | |
description: The `item_id` value of the Item associated with the returned `access_token` | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- access_token | |
- item_id | |
- request_id | |
ItemPublicTokenCreateRequest: | |
type: object | |
description: ItemPublicTokenCreateRequest defines the request schema for `/item/public_token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
required: | |
- access_token | |
ItemPublicTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: ItemPublicTokenCreateResponse defines the response schema for `/item/public_token/create` | |
properties: | |
public_token: | |
type: string | |
description: A `public_token` for the particular Item corresponding to the specified `access_token` | |
expiration: | |
type: string | |
format: date-time | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- public_token | |
- request_id | |
PaymentInitiationPaymentGetRequest: | |
type: object | |
description: PaymentInitiationPaymentGetRequest defines the request schema for `/payment_initiation/payment/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
payment_id: | |
type: string | |
description: The `payment_id` returned from `/payment_initiation/payment/create`. | |
minLength: 1 | |
required: | |
- payment_id | |
PaymentInitiationPaymentGetResponse: | |
additionalProperties: true | |
description: PaymentInitiationPaymentGetResponse defines the response schema for `/payment_initation/payment/get` | |
allOf: | |
- $ref: "#/components/schemas/PaymentInitiationPayment" | |
- type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
- payment_id | |
- amount | |
- status | |
- recipient_id | |
- reference | |
- last_status_update | |
- bacs | |
- iban | |
PaymentInitiationPaymentStatus: | |
type: string | |
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_AUTHORISING | |
- PAYMENT_STATUS_CANCELLED | |
- PAYMENT_STATUS_ESTABLISHED | |
- PAYMENT_STATUS_REJECTED | |
description: |- | |
The status of the payment. | |
`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. | |
`PAYMENT_STATUS_INITIATED`: The payment has been successfully authorised and accepted by the financial institution but has not been executed. | |
`PAYMENT_STATUS_INSUFFICIENT_FUNDS`: The payment has failed due to insufficient funds. | |
`PAYMENT_STATUS_FAILED`: The payment has failed to be initiated. This error is retryable once the root cause is resolved. | |
`PAYMENT_STATUS_BLOCKED`: The payment has been blocked. This is a retryable error. | |
`PAYMENT_STATUS_AUTHORISING`: The payment is currently being processed. The payment will automatically exit this state when the financial institution has authorised the transaction. | |
`PAYMENT_STATUS_CANCELLED`: The payment was cancelled during authorisation. | |
`PAYMENT_STATUS_EXECUTED`: The payment has been successfully initiated and is considered complete. | |
`PAYMENT_STATUS_ESTABLISHED`: Indicates that the standing order has been successfully established. This state is only used for standing orders. | |
`PAYMENT_STATUS_REJECTED`: The payment was rejected by the financial institution. | |
Deprecated: | |
These statuses will be removed in a future release. | |
`PAYMENT_STATUS_UNKNOWN`: The payment status is unknown. | |
`PAYMENT_STATUS_PROCESSING`: The payment is currently being processed. The payment will automatically exit this state when processing is complete. | |
`PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been successfully established. This state is only used for standing orders. | |
PaymentInitiationPayment: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationPayment defines a payment initiation payment | |
properties: | |
payment_id: | |
type: string | |
description: The ID of the payment. Like all Plaid identifiers, the `payment_id` is case sensitive. | |
amount: | |
$ref: "#/components/schemas/PaymentAmount" | |
status: | |
$ref: "#/components/schemas/PaymentInitiationPaymentStatus" | |
recipient_id: | |
type: string | |
description: The ID of the recipient | |
reference: | |
type: string | |
description: A reference for the payment. | |
adjusted_reference: | |
type: string | |
description: The value of the reference sent to the bank after adjustment to pass bank validation rules. | |
nullable: true | |
last_status_update: | |
format: date-time | |
type: string | |
description: The date and time of the last time the `status` was updated, in IS0 8601 format | |
schedule: | |
$ref: "#/components/schemas/ExternalPaymentScheduleGet" | |
refund_details: | |
$ref: "#/components/schemas/ExternalPaymentRefundDetails" | |
bacs: | |
$ref: "#/components/schemas/SenderBACSNullable" | |
iban: | |
type: string | |
description: The International Bank Account Number (IBAN) for the sender, if specified in the `/payment_initiation/payment/create` call. | |
nullable: true | |
initiated_refunds: | |
type: array | |
description: Initiated refunds associated with the payment. | |
items: | |
$ref: "#/components/schemas/PaymentInitiationRefund" | |
wallet_id: | |
type: string | |
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 | |
scheme: | |
$ref: "#/components/schemas/PaymentScheme" | |
adjusted_scheme: | |
$ref: "#/components/schemas/PaymentScheme" | |
required: | |
- payment_id | |
- amount | |
- status | |
- recipient_id | |
- reference | |
- last_status_update | |
- bacs | |
- iban | |
PaymentInitiationRefund: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationRefund defines a payment initiation refund | |
properties: | |
refund_id: | |
type: string | |
description: The ID of the refund. Like all Plaid identifiers, the `refund_id` is case sensitive. | |
amount: | |
$ref: "#/components/schemas/PaymentAmount" | |
status: | |
type: string | |
enum: | |
- PROCESSING | |
- INITIATED | |
- EXECUTED | |
- FAILED | |
description: |- | |
The status of the refund. | |
`PROCESSING`: The refund is currently being processed. The refund will automatically exit this state when processing is complete. | |
`INITIATED`: The refund has been successfully initiated. | |
`EXECUTED`: Indicates that the refund has been successfully executed. | |
`FAILED`: The refund has failed to be executed. This error is retryable once the root cause is resolved. | |
last_status_update: | |
format: date-time | |
type: string | |
description: The date and time of the last time the `status` was updated, in IS0 8601 format | |
required: | |
- refund_id | |
- amount | |
- status | |
- last_status_update | |
PaymentInitiationPaymentTokenCreateRequest: | |
type: object | |
description: PaymentInitiationPaymentTokenCreateRequest defines the request schema for `/payment_initiation/payment/token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
payment_id: | |
type: string | |
description: The `payment_id` returned from `/payment_initiation/payment/create`. | |
minLength: 1 | |
required: | |
- payment_id | |
PaymentInitiationPaymentTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationPaymentTokenCreateResponse defines the response schema for `/payment_initiation/payment/token/create` | |
properties: | |
payment_token: | |
type: string | |
description: A `payment_token` that can be provided to Link initialization to enter the payment initiation flow | |
payment_token_expiration_time: | |
format: date-time | |
type: string | |
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. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- payment_token | |
- payment_token_expiration_time | |
- request_id | |
PaymentInitiationPaymentListRequest: | |
type: object | |
description: PaymentInitiationPaymentListRequest defines the request schema for `/payment_initiation/payment/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
count: | |
type: integer | |
minimum: 1 | |
maximum: 200 | |
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). | |
nullable: true | |
cursor: | |
type: string | |
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 | |
PaymentInitiationPaymentListResponse: | |
type: object | |
additionalProperties: true | |
description: PaymentInitiationPaymentListResponse defines the response schema for `/payment_initiation/payment/list` | |
properties: | |
payments: | |
type: array | |
description: An array of payments that have been created, associated with the given `client_id`. | |
items: | |
$ref: "#/components/schemas/PaymentInitiationPayment" | |
next_cursor: | |
nullable: true | |
format: date-time | |
type: string | |
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. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- payments | |
- next_cursor | |
- request_id | |
AssetReportCreateRequest: | |
type: object | |
description: AssetReportCreateRequest defines the request schema for `/asset_report/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_tokens: | |
type: array | |
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" | |
minItems: 1 | |
maxItems: 99 | |
days_requested: | |
type: integer | |
maximum: 731 | |
minimum: 0 | |
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. | |
options: | |
$ref: "#/components/schemas/AssetReportCreateRequestOptions" | |
required: | |
- access_tokens | |
- days_requested | |
AssetReportCreateRequestOptions: | |
type: object | |
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: | |
client_report_id: | |
type: string | |
nullable: true | |
description: Client-generated identifier, which can be used by lenders to track loan applications. | |
webhook: | |
type: string | |
description: URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready. | |
nullable: true | |
user: | |
$ref: "#/components/schemas/AssetReportUser" | |
AssetReportCreateResponse: | |
type: object | |
additionalProperties: true | |
description: AssetReportCreateResponse defines the response schema for `/asset_report/create` | |
properties: | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
asset_report_id: | |
$ref: "#/components/schemas/AssetReportId" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- asset_report_token | |
- asset_report_id | |
- request_id | |
AssetReportRefreshRequest: | |
type: object | |
description: AssetReportRefreshRequest defines the request schema for `/asset_report/refresh` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportRefreshAssetReportToken" | |
days_requested: | |
type: integer | |
minimum: 0 | |
maximum: 731 | |
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. | |
nullable: true | |
options: | |
$ref: "#/components/schemas/AssetReportRefreshRequestOptions" | |
required: | |
- asset_report_token | |
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. | |
type: object | |
properties: | |
client_report_id: | |
type: string | |
nullable: true | |
description: Client-generated identifier, which can be used by lenders to track loan applications. | |
webhook: | |
type: string | |
description: URL to which Plaid will send Assets webhooks, for example when the requested Asset Report is ready. | |
nullable: true | |
user: | |
$ref: "#/components/schemas/AssetReportUser" | |
AssetReportRefreshResponse: | |
type: object | |
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 | |
AssetReportRemoveRequest: | |
type: object | |
description: AssetReportRemoveRequest defines the request schema for `/asset_report/remove` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
required: | |
- asset_report_token | |
AssetReportRemoveResponse: | |
type: object | |
additionalProperties: true | |
description: AssetReportRemoveResponse defines the response schema for `/asset_report/remove` | |
properties: | |
removed: | |
type: boolean | |
description: "`true` if the Asset Report was successfully removed." | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- removed | |
- request_id | |
AssetReportFilterRequest: | |
type: object | |
description: AssetReportFilterRequest defines the request schema for `/asset_report/filter` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
account_ids_to_exclude: | |
type: array | |
description: The accounts to exclude from the Asset Report, identified by `account_id`. | |
items: | |
type: string | |
required: | |
- asset_report_token | |
- account_ids_to_exclude | |
AssetReportFilterResponse: | |
type: object | |
additionalProperties: true | |
description: AssetReportFilterResponse defines the response schema for `/asset_report/filter` | |
properties: | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
asset_report_id: | |
$ref: "#/components/schemas/AssetReportId" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- asset_report_token | |
- asset_report_id | |
- request_id | |
AssetReportGetRequest: | |
type: object | |
description: AssetReportGetRequest defines the request schema for `/asset_report/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
include_insights: | |
type: boolean | |
default: false | |
description: "`true` if you would like to retrieve the Asset Report with Insights, `false` otherwise. This field defaults to `false` if omitted." | |
required: | |
- asset_report_token | |
AssetReportGetResponse: | |
type: object | |
additionalProperties: true | |
description: AssetReportGetResponse defines the response schema for `/asset_report/get` | |
properties: | |
report: | |
$ref: "#/components/schemas/AssetReport" | |
warnings: | |
type: array | |
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" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- report | |
- warnings | |
- request_id | |
AssetReportPDFGetRequest: | |
type: object | |
description: AssetReportPDFGetRequest defines the request schema for `/asset_report/pdf/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
required: | |
- asset_report_token | |
AssetReportPDFGetResponse: | |
format: binary | |
type: string | |
AssetReportAuditCopyCreateRequest: | |
type: object | |
description: AssetReportAuditCopyCreateRequest defines the request schema for `/asset_report/audit_copy/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
asset_report_token: | |
$ref: "#/components/schemas/AssetReportToken" | |
auditor_id: | |
type: string | |
description: The `auditor_id` of the third party with whom you would like to share the Asset Report. | |
required: | |
- asset_report_token | |
- auditor_id | |
AssetReportAuditCopyCreateResponse: | |
type: object | |
additionalProperties: true | |
description: AssetReportAuditCopyCreateResponse defines the response schema for `/asset_report/audit_copy/get` | |
properties: | |
audit_copy_token: | |
type: string | |
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. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- audit_copy_token | |
- request_id | |
AssetReportAuditCopyRemoveRequest: | |
type: object | |
description: AssetReportAuditCopyRemoveRequest defines the request schema for `/asset_report/audit_copy/remove` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
audit_copy_token: | |
type: string | |
description: The `audit_copy_token` granting access to the Audit Copy you would like to revoke. | |
required: | |
- audit_copy_token | |
AssetReportAuditCopyRemoveResponse: | |
type: object | |
additionalProperties: true | |
description: AssetReportAuditCopyRemoveResponse defines the response schema for `/asset_report/audit_copy/remove` | |
properties: | |
removed: | |
type: boolean | |
description: "`true` if the Audit Copy was successfully removed." | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- removed | |
- request_id | |
InvestmentsHoldingsGetRequest: | |
type: object | |
description: InvestmentsHoldingsGetRequest defines the request schema for `/investments/holdings/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
options: | |
$ref: "#/components/schemas/InvestmentHoldingsGetRequestOptions" | |
required: | |
- access_token | |
InvestmentHoldingsGetRequestOptions: | |
type: object | |
description: An optional object to filter `/investments/holdings/get` results. If provided, must not be `null`. | |
properties: | |
account_ids: | |
type: array | |
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 | |
InvestmentsHoldingsGetResponse: | |
type: object | |
additionalProperties: true | |
description: InvestmentsHoldingsGetResponse defines the response schema for `/investments/holdings/get` | |
properties: | |
accounts: | |
type: array | |
description: The accounts associated with the Item | |
items: | |
$ref: "#/components/schemas/AccountBase" | |
holdings: | |
type: array | |
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" | |
securities: | |
description: "Objects describing the securities held in the accounts associated with the Item. " | |
type: array | |
items: | |
$ref: "#/components/schemas/Security" | |
item: | |
$ref: "#/components/schemas/Item" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- accounts | |
- holdings | |
- securities | |
- item | |
- request_id | |
InvestmentsTransactionsGetRequest: | |
type: object | |
description: InvestmentsTransactionsGetRequest defines the request schema for `/investments/transactions/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
start_date: | |
type: string | |
format: date | |
description: The earliest date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. | |
end_date: | |
type: string | |
format: date | |
description: The most recent date for which to fetch transaction history. Dates should be formatted as YYYY-MM-DD. | |
options: | |
$ref: "#/components/schemas/InvestmentsTransactionsGetRequestOptions" | |
required: | |
- access_token | |
- start_date | |
- end_date | |
InvestmentsTransactionsGetRequestOptions: | |
description: An optional object to filter `/investments/transactions/get` results. If provided, must be non-`null`. | |
type: object | |
properties: | |
account_ids: | |
type: array | |
description: An array of `account_ids` to retrieve for the Item. | |
items: | |
type: string | |
count: | |
type: integer | |
default: 100 | |
minimum: 1 | |
maximum: 500 | |
description: | | |
The number of transactions to fetch. | |
offset: | |
type: integer | |
description: The number of transactions to skip when fetching transaction history | |
default: 0 | |
minimum: 0 | |
InvestmentsTransactionsGetResponse: | |
type: object | |
additionalProperties: true | |
description: InvestmentsTransactionsGetResponse defines the response schema for `/investments/transactions/get` | |
properties: | |
item: | |
$ref: "#/components/schemas/Item" | |
accounts: | |
type: array | |
description: The accounts for which transaction history is being fetched. | |
items: | |
$ref: "#/components/schemas/AccountBase" | |
securities: | |
type: array | |
description: All securities for which there is a corresponding transaction being fetched. | |
items: | |
$ref: "#/components/schemas/Security" | |
investment_transactions: | |
type: array | |
description: The transactions being fetched | |
items: | |
$ref: "#/components/schemas/InvestmentTransaction" | |
total_investment_transactions: | |
type: integer | |
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.' | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- item | |
- accounts | |
- securities | |
- investment_transactions | |
- total_investment_transactions | |
- request_id | |
ProcessorTokenCreateRequest: | |
type: object | |
description: ProcessorTokenCreateRequest defines the request schema for `/processor/token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
account_id: | |
type: string | |
description: The `account_id` value obtained from the `onSuccess` callback in Link | |
processor: | |
type: string | |
enum: | |
- achq | |
- alpaca | |
- astra | |
- check | |
- checkbook | |
- circle | |
- drivewealth | |
- dwolla | |
- galileo | |
- lithic | |
- modern_treasury | |
- moov | |
- ocrolus | |
- prime_trust | |
- rize | |
- sila_money | |
- svb_api | |
- treasury_prime | |
- unit | |
- vesta | |
- vopay | |
- wyre | |
description: The processor you are integrating with. | |
required: | |
- access_token | |
- account_id | |
- processor | |
ProcessorTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: ProcessorTokenCreateResponse defines the response schema for `/processor/token/create` and `/processor/apex/processor_token/create` | |
properties: | |
processor_token: | |
type: string | |
description: The `processor_token` that can then be used by the Plaid partner to make API requests | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- processor_token | |
- request_id | |
ProcessorStripeBankAccountTokenCreateRequest: | |
type: object | |
description: ProcessorStripeBankAccountTokenCreateRequest defines the request schema for `/processor/stripe/bank_account/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
account_id: | |
type: string | |
description: The `account_id` value obtained from the `onSuccess` callback in Link | |
required: | |
- access_token | |
- account_id | |
ProcessorStripeBankAccountTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: ProcessorStripeBankAccountTokenCreateResponse defines the response schema for `/processor/stripe/bank_account/create` | |
properties: | |
stripe_bank_account_token: | |
type: string | |
description: A token that can be sent to Stripe for use in making API calls to Plaid | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- stripe_bank_account_token | |
- request_id | |
ProcessorApexProcessorTokenCreateRequest: | |
type: object | |
description: ProcessorApexProcessorTokenCreateRequest defines the request schema for `/processor/apex/processor_token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
account_id: | |
type: string | |
description: The `account_id` value obtained from the `onSuccess` callback in Link | |
required: | |
- access_token | |
- account_id | |
DepositSwitchCreateRequest: | |
type: object | |
description: DepositSwitchCreateRequest defines the request schema for `/deposit_switch/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
target_access_token: | |
type: string | |
description: "Access token for the target Item, typically provided in the Import Item response. " | |
target_account_id: | |
type: string | |
description: Plaid Account ID that specifies the target bank account. This account will become the recipient for a user's direct deposit. | |
country_code: | |
type: string | |
title: CountryCode | |
enum: | |
- US | |
- CA | |
description: ISO-3166-1 alpha-2 country code standard. | |
nullable: true | |
options: | |
$ref: "#/components/schemas/DepositSwitchCreateRequestOptions" | |
required: | |
- target_access_token | |
- target_account_id | |
DepositSwitchCreateRequestOptions: | |
type: object | |
title: DepositSwitchCreateRequestOptions | |
description: Options to configure the `/deposit_switch/create` request. If provided, cannot be `null`. | |
x-private-visibility: false | |
properties: | |
webhook: | |
type: string | |
description: | | |
The URL registered to receive webhooks when the status of a deposit switch request has changed. | |
nullable: true | |
transaction_item_access_tokens: | |
type: array | |
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" | |
minItems: 1 | |
maxItems: 99 | |
DepositSwitchCreateResponse: | |
type: object | |
additionalProperties: true | |
description: DepositSwitchCreateResponse defines the response schema for `/deposit_switch/create` | |
properties: | |
deposit_switch_id: | |
type: string | |
description: ID of the deposit switch. This ID is persisted throughout the lifetime of the deposit switch. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- deposit_switch_id | |
- request_id | |
ItemImportRequest: | |
type: object | |
description: ItemImportRequest defines the request schema for `/item/import` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
products: | |
type: array | |
description: Array of product strings | |
items: | |
$ref: "#/components/schemas/Products" | |
minItems: 1 | |
user_auth: | |
$ref: "#/components/schemas/ItemImportRequestUserAuth" | |
options: | |
$ref: "#/components/schemas/ItemImportRequestOptions" | |
required: | |
- products | |
- user_auth | |
ItemImportRequestOptions: | |
type: object | |
description: An optional object to configure `/item/import` request. | |
properties: | |
webhook: | |
type: string | |
description: | | |
Specifies a webhook URL to associate with an Item. Plaid fires a webhook if credentials fail. | |
ItemImportRequestUserAuth: | |
type: object | |
required: | |
- user_id | |
- auth_token | |
description: Object of user ID and auth token pair, permitting Plaid to aggregate a user’s accounts | |
properties: | |
user_id: | |
type: string | |
description: Opaque user identifier | |
auth_token: | |
type: string | |
description: Authorization token Plaid will use to aggregate this user’s accounts | |
ItemImportResponse: | |
type: object | |
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 | |
DepositSwitchTokenCreateRequest: | |
type: object | |
description: DepositSwitchTokenCreateRequest defines the request schema for `/deposit_switch/token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
deposit_switch_id: | |
type: string | |
description: The ID of the deposit switch | |
required: | |
- deposit_switch_id | |
DepositSwitchTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: DepositSwitchTokenCreateResponse defines the response schema for `/deposit_switch/token/create` | |
properties: | |
deposit_switch_token: | |
type: string | |
description: Deposit switch token, used to initialize Link for the Deposit Switch product | |
deposit_switch_token_expiration_time: | |
type: string | |
description: Expiration time of the token, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- deposit_switch_token | |
- deposit_switch_token_expiration_time | |
- request_id | |
LinkTokenGetRequest: | |
type: object | |
description: LinkTokenGetRequest defines the request schema for `/link/token/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
link_token: | |
type: string | |
description: A `link_token` from a previous invocation of `/link/token/create` | |
required: | |
- link_token | |
LinkTokenCreateRequest: | |
type: object | |
description: LinkTokenCreateRequest defines the request schema for `/link/token/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
client_name: | |
type: string | |
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. | |
language: | |
type: string | |
description: |- | |
The language that Link should be displayed in. | |
Supported languages are: | |
- English (`'en'`) | |
- French (`'fr'`) | |
- Spanish (`'es'`) | |
- Dutch (`'nl'`) | |
- German(`'de'`) | |
When using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied. | |
country_codes: | |
type: array | |
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. Supported country codes are: `US`, `CA`, `DE`, `ES`, `FR`, `GB`, `IE`, `NL`. For a complete mapping of supported products by country, see https://plaid.com/global/. | |
If 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. To gain 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. | |
If using a Link customization, make sure the country codes in the customization match those specified in `country_codes`. If both `country_codes` and a Link customization are used, the value in `country_codes` may override the value in the customization. | |
If 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 | |
user: | |
$ref: "#/components/schemas/LinkTokenCreateRequestUser" | |
products: | |
type: array | |
description: |- | |
List of Plaid product(s) you wish to use. If launching Link in update mode, should be omitted; required otherwise. Valid products are: | |
`transactions`, `auth`, `identity`, `assets`, `investments`, `liabilities`, `payment_initiation`, `deposit_switch`, `income_verification`, `transfer` | |
`balance` is *not* a valid value, the Balance product does not require explicit initalization and will automatically be initialized when any other product is initialized. | |
Only institutions that support *all* requested products will be shown in Link; to maximize the number of institutions listed, it is recommended to 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/best-practices/#choosing-when-to-initialize-products). | |
Note 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. | |
In 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" | |
webhook: | |
type: string | |
description: The destination URL to which any webhooks should be sent. | |
access_token: | |
type: string | |
description: The `access_token` associated with the Item to update, used when updating or modifying 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 as part of the Payment Initiation (UK and Europe) flow. | |
link_customization_name: | |
type: string | |
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`. | |
redirect_uri: | |
type: string | |
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`. If `android_package_name` is specified, this field should be left blank. 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). | |
android_package_name: | |
type: string | |
description: "The name of your app's Android package. Required if using the `link_token` to initialize Link on Android. When creating a `link_token` for initializing Link on other platforms, this field must be left blank. 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). " | |
account_filters: | |
$ref: "#/components/schemas/LinkTokenAccountFilters" | |
eu_config: | |
$ref: "#/components/schemas/LinkTokenEUConfig" | |
institution_id: | |
type: string | |
description: Used for certain Europe-only configurations, as well as certain legacy use cases in other regions. | |
payment_initiation: | |
$ref: "#/components/schemas/LinkTokenCreateRequestPaymentInitiation" | |
deposit_switch: | |
$ref: "#/components/schemas/LinkTokenCreateRequestDepositSwitch" | |
income_verification: | |
$ref: "#/components/schemas/LinkTokenCreateRequestIncomeVerification" | |
auth: | |
$ref: "#/components/schemas/LinkTokenCreateRequestAuth" | |
transfer: | |
$ref: "#/components/schemas/LinkTokenCreateRequestTransfer" | |
update: | |
$ref: "#/components/schemas/LinkTokenCreateRequestUpdate" | |
required: | |
- client_name | |
- language | |
- country_codes | |
- user | |
LinkTokenAccountFilters: | |
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#accounts-schema). | |
For institutions using OAuth, the filter will not affect the list of accounts shown by the bank in the OAuth window. | |
type: object | |
additionalProperties: true | |
properties: | |
depository: | |
$ref: "#/components/schemas/DepositoryFilter" | |
credit: | |
$ref: "#/components/schemas/CreditFilter" | |
loan: | |
$ref: "#/components/schemas/LoanFilter" | |
investment: | |
$ref: "#/components/schemas/InvestmentFilter" | |
LinkTokenEUConfig: | |
description: Configuration parameters for EU flows | |
type: object | |
properties: | |
headless: | |
type: boolean | |
description: If `true`, open Link without an initial UI. Defaults to `false`. | |
LinkTokenCreateRequestPaymentInitiation: | |
type: object | |
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. | |
properties: | |
payment_id: | |
type: string | |
description: The `payment_id` provided by the `/payment_initiation/payment/create` endpoint. | |
minLength: 1 | |
required: | |
- payment_id | |
LinkTokenCreateRequestDepositSwitch: | |
type: object | |
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: | |
type: string | |
description: The `deposit_switch_id` provided by the `/deposit_switch/create` endpoint. | |
required: | |
- deposit_switch_id | |
LinkTokenCreateRequestTransfer: | |
type: object | |
description: Specifies options for initializing Link for use with the Transfer product. | |
properties: | |
intent_id: | |
type: string | |
description: The `id` returned by the `/transfer/intent/create` endpoint. | |
LinkTokenCreateRequestAuth: | |
type: object | |
description: Specifies options for initializing Link for use with the Auth product. This field is currently only required if using the Flexible Auth product (currently in closed beta). | |
properties: | |
flow_type: | |
type: string | |
enum: | |
- FLEXIBLE_AUTH | |
description: The optional Auth flow to use. Currently only used to enable Flexible Auth. | |
required: | |
- flow_type | |
LinkTokenCreateRequestUser: | |
type: object | |
description: An object specifying information about the end user who will be linking their account. | |
properties: | |
client_user_id: | |
type: string | |
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. | |
legal_name: | |
type: string | |
description: The user's full legal name. This is an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user) to associate Items to the user. | |
phone_number: | |
type: string | |
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). | |
phone_number_verified_time: | |
format: date-time | |
type: string | |
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 field is optional, but required to enable any [returning user experience](https://plaid.com/docs/link/returning-user). | |
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. | |
Example: `2020-01-01T00:00:00Z` | |
email_address: | |
type: string | |
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/#enabling-the-returning-user-experience). | |
email_address_verified_time: | |
type: string | |
format: date-time | |
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 is an optional field used in the [returning user experience](https://plaid.com/docs/link/returning-user). | |
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. | |
Example: `2020-01-01T00:00:00Z` | |
ssn: | |
type: string | |
description: To be provided in the format "ddd-dd-dddd". This field is optional and will support not-yet-implemented functionality for new products. | |
date_of_birth: | |
type: string | |
format: date | |
description: To be provided in the format "yyyy-mm-dd". This field is optional and will support not-yet-implemented functionality for new products. | |
required: | |
- client_user_id | |
LinkTokenCreateRequestUpdate: | |
type: object | |
description: Specifies options for initializing Link for [update mode](https://plaid.com/docs/link/update-mode). | |
properties: | |
account_selection_enabled: | |
type: boolean | |
description: If `true`, enables [update mode with Account Select](https://plaid.com/docs/link/update-mode/#using-update-mode-to-request-new-accounts). | |
default: false | |
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. | |
For a full list of valid types and subtypes, see the [Account schema](https://plaid.com/docs/api/accounts#accounts-schema). | |
For institutions using OAuth, the filter will not affect the list of institutions or accounts shown by the bank in the OAuth window. | |
type: object | |
properties: | |
depository: | |
description: A filter to apply to `depository`-type accounts | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
credit: | |
description: A filter to apply to `credit`-type accounts | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
loan: | |
description: A filter to apply to `loan`-type accounts | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
investment: | |
description: A filter to apply to `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier). | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
LinkTokenGetResponse: | |
type: object | |
additionalProperties: true | |
description: LinkTokenGetResponse defines the response schema for `/link/token/get` | |
properties: | |
link_token: | |
type: string | |
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`. | |
created_at: | |
type: string | |
format: date-time | |
nullable: true | |
description: The creation timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. | |
expiration: | |
type: string | |
format: date-time | |
nullable: true | |
description: The expiration timestamp for the `link_token`, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. | |
metadata: | |
$ref: "#/components/schemas/LinkTokenGetMetadataResponse" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- link_token | |
- created_at | |
- expiration | |
- metadata | |
- request_id | |
LinkTokenGetMetadataResponse: | |
type: object | |
additionalProperties: true | |
description: An object specifying the arguments originally provided to the `/link/token/create` call. | |
properties: | |
initial_products: | |
type: array | |
description: The `products` specified in the `/link/token/create` call. | |
items: | |
$ref: "#/components/schemas/Products" | |
webhook: | |
type: string | |
description: The `webhook` specified in the `/link/token/create` call. | |
nullable: true | |
country_codes: | |
type: array | |
description: The `country_codes` specified in the `/link/token/create` call. | |
items: | |
$ref: "#/components/schemas/CountryCode" | |
language: | |
type: string | |
nullable: true | |
description: The `language` specified in the `/link/token/create` call. | |
account_filters: | |
$ref: "#/components/schemas/AccountFiltersResponse" | |
redirect_uri: | |
type: string | |
description: The `redirect_uri` specified in the `/link/token/create` call. | |
nullable: true | |
client_name: | |
type: string | |
nullable: true | |
description: The `client_name` specified in the `/link/token/create` call. | |
required: | |
- initial_products | |
- webhook | |
- country_codes | |
- language | |
- redirect_uri | |
- client_name | |
LinkTokenCreateResponse: | |
type: object | |
additionalProperties: true | |
description: LinkTokenCreateResponse defines the response schema for `/link/token/create` | |
properties: | |
link_token: | |
type: string | |
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`. | |
expiration: | |
type: string | |
format: date-time | |
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. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- link_token | |
- expiration | |
- request_id | |
Item: | |
description: Metadata about the Item. | |
type: object | |
additionalProperties: true | |
properties: | |
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 | |
institution_id: | |
description: The Plaid Institution ID associated with the Item. Field is `null` for Items created via Same Day Micro-deposits. | |
type: string | |
nullable: true | |
webhook: | |
description: The URL registered to receive webhooks for the Item. | |
type: string | |
nullable: true | |
error: | |
$ref: "#/components/schemas/Error" | |
available_products: | |
description: A list of products available for the Item that have not yet been accessed. | |
type: array | |
items: | |
$ref: "#/components/schemas/Products" | |
billed_products: | |
description: | | |
A list of products that have been billed for the Item. Note - `billed_products` is populated in all environments but only requests in Production are billed. | |
type: array | |
items: | |
$ref: "#/components/schemas/Products" | |
products: | |
description: | | |
A list of authorized products for the Item. | |
type: array | |
items: | |
$ref: "#/components/schemas/Products" | |
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. | |
Note - This is only relevant for certain OAuth-based institutions. For all other institutions, this field will be null. | |
type: string | |
format: date-time | |
nullable: true | |
update_type: | |
type: string | |
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. | |
`background` - Item can be updated in the background | |
`user_present_required` - Item requires user interaction to be updated | |
enum: | |
- background | |
- user_present_required | |
required: | |
- item_id | |
- webhook | |
- error | |
- available_products | |
- billed_products | |
- consent_expiration_time | |
- update_type | |
PlaidError: | |
allOf: | |
- $ref: "#/components/schemas/Error" | |
- type: object | |
additionalProperties: true | |
description: Similar to Error, but renamed to avoid collisions in languages where "Error" is an existing type. | |
Error: | |
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: object | |
additionalProperties: true | |
title: Error | |
nullable: true | |
properties: | |
error_type: | |
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 | |
type: string | |
description: A broad categorization of the error. Safe for programatic use. | |
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 | |
display_message: | |
description: |- | |
A user-friendly representation of the error code. `null` if the error is not related to user action. | |
This may change over time and is not safe for programmatic use. | |
type: string | |
nullable: true | |
request_id: | |
type: string | |
description: A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks. | |
causes: | |
type: array | |
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. | |
`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: {} | |
status: | |
type: number | |
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 | |
documentation_url: | |
type: string | |
description: The URL of a Plaid documentation page with more information about the error | |
suggested_action: | |
type: string | |
description: Suggested steps for resolving the error | |
required: | |
- error_type | |
- error_code | |
- error_message | |
- display_message | |
ItemStatusNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/ItemStatus" | |
- type: object | |
additionalProperties: true | |
ItemStatusTransactions: | |
description: Information about the last successful and failed transactions update for the Item. | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
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." | |
type: string | |
format: date-time | |
nullable: true | |
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." | |
type: string | |
format: date-time | |
nullable: true | |
ItemStatusInvestments: | |
description: Information about the last successful and failed investments update for the Item. | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
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." | |
type: string | |
format: date-time | |
nullable: true | |
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." | |
type: string | |
format: date-time | |
nullable: true | |
ItemStatusLastWebhook: | |
description: Information about the last webhook fired for the Item. | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
sent_at: | |
description: | | |
[ISO 8601](https://wikipedia.org/wiki/ISO_8601) timestamp of when the webhook was fired. | |
type: string | |
format: date-time | |
nullable: true | |
code_sent: | |
description: The last webhook code sent. | |
type: string | |
nullable: true | |
ItemStatus: | |
description: An object with information about the status of the Item. | |
type: object | |
additionalProperties: true | |
nullable: true | |
x-examples: | |
example-1: {} | |
title: ItemStatus | |
properties: | |
investments: | |
$ref: "#/components/schemas/ItemStatusInvestments" | |
transactions: | |
$ref: "#/components/schemas/ItemStatusTransactions" | |
last_webhook: | |
$ref: "#/components/schemas/ItemStatusLastWebhook" | |
AccountType: | |
type: string | |
title: AccountType | |
enum: | |
- investment | |
- credit | |
- depository | |
- loan | |
- brokerage | |
- other | |
description: |- | |
`investment:` Investment account. In API versions 2018-05-22 and earlier, this type is called `brokerage` instead. | |
`credit:` Credit card | |
`depository:` Depository account | |
`loan:` Loan account | |
`brokerage`: An investment account. Used for `/assets/` endpoints only; other endpoints use `investment`. | |
`other:` Non-specified account type | |
See the [Account type schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes. | |
OverrideAccountType: | |
type: string | |
title: OverrideAccountType | |
enum: | |
- investment | |
- credit | |
- depository | |
- loan | |
- payroll | |
- other | |
description: |- | |
`investment:` Investment account. | |
`credit:` Credit card | |
`depository:` Depository account | |
`loan:` Loan account | |
`payroll:` Payroll acccount | |
`other:` Non-specified account type | |
See the [Account type schema](https://plaid.com/docs/api/accounts#account-type-schema) for a full listing of account types and corresponding subtypes. | |
AccountBase: | |
title: Account | |
type: object | |
additionalProperties: true | |
description: A single account at a financial institution. | |
x-examples: | |
example-1: {} | |
properties: | |
account_id: | |
type: string | |
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. | |
The `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`. | |
If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. | |
Like all Plaid identifiers, the `account_id` is case sensitive. | |
balances: | |
$ref: "#/components/schemas/AccountBalance" | |
mask: | |
type: string | |
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 | |
name: | |
type: string | |
description: The name of the account, either assigned by the user or by the financial institution itself | |
official_name: | |
type: string | |
description: The official name of the account as given by the financial institution | |
nullable: true | |
type: | |
$ref: "#/components/schemas/AccountType" | |
subtype: | |
$ref: "#/components/schemas/AccountSubtype" | |
verification_status: | |
type: string | |
enum: | |
- automatically_verified | |
- pending_automatic_verification | |
- pending_manual_verification | |
- manually_verified | |
- verification_expired | |
- verification_failed | |
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" | |
required: | |
- account_id | |
- balances | |
- mask | |
- name | |
- official_name | |
- type | |
- subtype | |
AccountBalance: | |
title: AccountBalance | |
type: object | |
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: | |
type: number | |
description: |- | |
The amount of funds available to be withdrawn from the account, as determined by the financial institution. | |
For `credit`-type accounts, the `available` balance typically equals the `limit` less the `current` balance, less any pending outflows plus any pending inflows. | |
For `depository`-type accounts, the `available` balance typically equals the `current` balance less any pending outflows plus any pending inflows. For `depository`-type accounts, the `available` balance does not include the overdraft limit. | |
For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the `available` balance is the total cash available to withdraw as presented by the institution. | |
Note that not all institutions calculate the `available` balance. In the event that `available` balance is unavailable, Plaid will return an `available` balance value of `null`. | |
Available balance may be cached and is not guaranteed to be up-to-date in realtime unless the value was returned by `/accounts/balance/get`. | |
If `current` is `null` this field is guaranteed not to be `null`. | |
nullable: true | |
current: | |
type: number | |
description: |- | |
The total amount of funds in or owed by the account. | |
For `credit`-type accounts, a positive balance indicates the amount owed; a negative amount indicates the lender owing the account holder. | |
For `loan`-type accounts, the current balance is the principal remaining on the loan, except in the case of student loan accounts at Sallie Mae (`ins_116944`). For Sallie Mae student loans, the account's balance includes both principal and any outstanding interest. | |
For `investment`-type accounts (or `brokerage`-type accounts for API versions 2018-05-22 and earlier), the current balance is the total value of assets as presented by the institution. | |
Note that balance information may be cached unless the value was returned by `/accounts/balance/get`; if the Item is enabled for Transactions, the balance will be at least as recent as the most recent Transaction update. If you require realtime balance information, use the `available` balance as provided by `/accounts/balance/get`. | |
When returned by `/accounts/balance/get`, this field may be `null`. When this happens, `available` is guaranteed not to be `null`. | |
nullable: true | |
limit: | |
type: number | |
description: |- | |
For `credit`-type accounts, this represents the credit limit. | |
For `depository`-type accounts, this represents the pre-arranged overdraft limit, which is common for current (checking) accounts in Europe. | |
In North America, this field is typically only available for `credit`-type accounts. | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the balance. Always null if `unofficial_currency_code` is non-null. | |
nullable: true | |
unofficial_currency_code: | |
type: string | |
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. | |
See 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 | |
last_updated_datetime: | |
type: string | |
format: date-time | |
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 | |
This is currently only provided when the `min_last_updated_datetime` is passed when calling `/accounts/balance/get` for `ins_128026` (Capital One). | |
nullable: true | |
required: | |
- available | |
- current | |
- limit | |
- iso_currency_code | |
- unofficial_currency_code | |
AccountSubtype: | |
type: string | |
nullable: true | |
title: 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 | |
- education savings account | |
- ebt | |
- fixed annuity | |
- gic | |
- health reimbursement arrangement | |
- hsa | |
- isa | |
- ira | |
- lif | |
- life insurance | |
- lira | |
- lrif | |
- lrsp | |
- 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 | |
NumbersACH: | |
title: NumbersACH | |
type: object | |
additionalProperties: true | |
description: Identifying information for transferring money to or from a US account via ACH or wire transfer. | |
properties: | |
account_id: | |
type: string | |
description: The Plaid account ID associated with the account numbers | |
account: | |
type: string | |
description: |- | |
The ACH account number for the account. | |
Note 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. | |
routing: | |
type: string | |
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. | |
wire_routing: | |
type: string | |
description: The wire transfer routing number for the account, if available | |
nullable: true | |
required: | |
- account_id | |
- account | |
- routing | |
- wire_routing | |
NumbersACHNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/NumbersACH" | |
- type: object | |
additionalProperties: true | |
NumbersEFT: | |
title: NumbersEFT | |
type: object | |
additionalProperties: true | |
description: Identifying information for transferring money to or from a Canadian bank account via EFT. | |
properties: | |
account_id: | |
type: string | |
description: The Plaid account ID associated with the account numbers | |
account: | |
type: string | |
description: The EFT account number for the account | |
institution: | |
type: string | |
description: The EFT institution number for the account | |
branch: | |
type: string | |
description: The EFT branch number for the account | |
required: | |
- account_id | |
- account | |
- institution | |
- branch | |
NumbersEFTNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/NumbersEFT" | |
- type: object | |
additionalProperties: true | |
NumbersInternational: | |
title: NumbersInternational | |
type: object | |
additionalProperties: true | |
description: Identifying information for transferring money to or from an international bank account via wire transfer. | |
properties: | |
account_id: | |
type: string | |
description: The Plaid account ID associated with the account numbers | |
iban: | |
type: string | |
description: The International Bank Account Number (IBAN) for the account | |
bic: | |
type: string | |
description: The Bank Identifier Code (BIC) for the account | |
required: | |
- account_id | |
- iban | |
- bic | |
NumbersInternationalNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/NumbersInternational" | |
- type: object | |
additionalProperties: true | |
NumbersBACS: | |
title: NumbersBACS | |
type: object | |
additionalProperties: true | |
description: Identifying information for transferring money to or from a UK bank account via BACS. | |
properties: | |
account_id: | |
type: string | |
description: The Plaid account ID associated with the account numbers | |
account: | |
type: string | |
description: The BACS account number for the account | |
sort_code: | |
type: string | |
description: The BACS sort code for the account | |
required: | |
- account_id | |
- account | |
- sort_code | |
NumbersBACSNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/NumbersBACS" | |
- type: object | |
additionalProperties: true | |
RecipientBACS: | |
title: RecipientBACS | |
type: object | |
additionalProperties: true | |
nullable: true | |
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. | |
properties: | |
account: | |
type: string | |
description: The account number of the account. Maximum of 10 characters. | |
minLength: 1 | |
maxLength: 10 | |
sort_code: | |
type: string | |
description: The 6-character sort code of the account. | |
minLength: 6 | |
maxLength: 6 | |
RecipientBACSNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/RecipientBACS" | |
- type: object | |
additionalProperties: true | |
description: The account number and sort code of the recipient's account. | |
SenderBACSNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/RecipientBACS" | |
- type: object | |
additionalProperties: true | |
description: The account number and sort code of the sender's account, if specified in the `/payment_initiation/payment/create` call. | |
PaymentInitiationOptionalRestrictionBacs: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/RecipientBACS" | |
- type: object | |
additionalProperties: true | |
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. | |
RemovedTransaction: | |
title: RemovedTransaction | |
type: object | |
description: A representation of a removed transaction | |
x-examples: {} | |
properties: | |
transaction_id: | |
type: string | |
description: The ID of the removed transaction. | |
RequestID: | |
title: RequestID | |
type: string | |
description: A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive. | |
TransactionBase: | |
title: TransactionBase | |
type: object | |
additionalProperties: true | |
description: A representation of a transaction | |
x-examples: {} | |
properties: | |
transaction_type: | |
type: string | |
enum: | |
- digital | |
- place | |
- special | |
- unresolved | |
description: | | |
Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. | |
`digital:` transactions that took place online. | |
`place:` transactions that were made at a physical location. | |
`special:` transactions that relate to banks, e.g. fees or deposits. | |
`unresolved:` transactions that do not fit into the other three types. | |
deprecated: true | |
pending_transaction_id: | |
type: string | |
description: The ID of a posted transaction's associated pending transaction, where applicable. | |
nullable: true | |
category_id: | |
description: |- | |
The ID of the category to which this transaction belongs. See [Categories](https://plaid.com/docs/#category-overview). | |
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 | |
nullable: true | |
category: | |
type: array | |
description: |- | |
A hierarchical array of the categories to which this transaction belongs. See [Categories](https://plaid.com/docs/#category-overview). | |
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. | |
nullable: true | |
items: | |
type: string | |
location: | |
$ref: "#/components/schemas/Location" | |
payment_meta: | |
$ref: "#/components/schemas/PaymentMeta" | |
account_owner: | |
type: string | |
description: The name of the account owner. This field is not typically populated and only relevant when dealing with sub-accounts. | |
nullable: true | |
name: | |
type: string | |
description: |- | |
The merchant name or transaction description. | |
If 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. | |
original_description: | |
type: string | |
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 | |
account_id: | |
type: string | |
description: The ID of the account in which this transaction occurred. | |
amount: | |
type: number | |
description: The settled value of the transaction, denominated in the account'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. | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
unofficial_currency_code: | |
type: string | |
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. | |
See 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 | |
date: | |
type: string | |
format: 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` ). | |
pending: | |
type: boolean | |
description: When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled. | |
transaction_id: | |
type: string | |
description: The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive. | |
merchant_name: | |
type: string | |
description: The merchant name, as extracted by Plaid from the `name` field. | |
nullable: true | |
check_number: | |
type: string | |
description: The check number of the transaction. This field is only populated for check transactions. | |
nullable: true | |
required: | |
- transaction_id | |
- pending | |
- date | |
- unofficial_currency_code | |
- iso_currency_code | |
- amount | |
- account_id | |
Transaction: | |
title: Transaction | |
description: A representation of a transaction | |
x-examples: {} | |
allOf: | |
- $ref: "#/components/schemas/TransactionBase" | |
- type: object | |
additionalProperties: true | |
properties: | |
payment_channel: | |
type: string | |
enum: | |
- online | |
- in store | |
- other | |
description: | | |
The channel used to make a payment. | |
`online:` transactions that took place online. | |
`in store:` transactions that were made at a physical location. | |
`other:` transactions that relate to banks, e.g. fees or deposits. | |
This field replaces the `transaction_type` field. | |
authorized_date: | |
type: string | |
format: 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` ). | |
nullable: true | |
authorized_datetime: | |
type: string | |
format: date-time | |
description: |- | |
Date and time when a transaction was authorized in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). | |
This field is only populated for UK institutions. For institutions in other countries, will be `null`. | |
nullable: true | |
datetime: | |
type: string | |
format: date-time | |
description: |- | |
Date and time when a transaction was posted in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DDTHH:mm:ssZ` ). | |
This field is only populated for UK institutions. For institutions in other countries, will be `null`. | |
nullable: true | |
transaction_code: | |
$ref: "#/components/schemas/TransactionCode" | |
personal_finance_category: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/PersonalFinanceCategory" | |
- type: object | |
additionalProperties: true | |
required: | |
- account_owner | |
- pending_transaction_id | |
- payment_channel | |
- payment_meta | |
- name | |
- location | |
- authorized_date | |
- authorized_datetime | |
- datetime | |
- category_id | |
- category | |
- transaction_code | |
Location: | |
title: Transaction Location | |
type: object | |
additionalProperties: true | |
description: A representation of where a transaction took place | |
properties: | |
address: | |
type: string | |
description: The street address where the transaction occurred. | |
nullable: true | |
city: | |
type: string | |
description: The city where the transaction occurred. | |
nullable: true | |
region: | |
type: string | |
description: The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `state`. | |
nullable: true | |
postal_code: | |
type: string | |
description: The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called `zip`. | |
nullable: true | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code where the transaction occurred. | |
nullable: true | |
lat: | |
type: number | |
description: The latitude where the transaction occurred. | |
nullable: true | |
lon: | |
type: number | |
description: The longitude where the transaction occurred. | |
nullable: true | |
store_number: | |
type: string | |
description: The merchant defined store number where the transaction occurred. | |
nullable: true | |
required: | |
- address | |
- city | |
- region | |
- postal_code | |
- country | |
- lat | |
- lon | |
- store_number | |
TransactionStream: | |
title: TransactionStream | |
type: object | |
description: A grouping of related transactions | |
x-examples: {} | |
additionalProperties: true | |
properties: | |
account_id: | |
type: string | |
description: The ID of the account to which the stream belongs | |
stream_id: | |
type: string | |
description: A unique id for the stream | |
category_id: | |
description: The ID of the category to which this transaction belongs. See [Categories](https://plaid.com/docs/#category-overview). | |
type: string | |
category: | |
type: array | |
description: A hierarchical array of the categories to which this transaction belongs. See [Categories](https://plaid.com/docs/#category-overview). | |
items: | |
type: string | |
description: | |
type: string | |
description: A description of the transaction stream. | |
first_date: | |
type: string | |
description: The posted date of the earliest transaction in the stream. | |
format: date | |
last_date: | |
type: string | |
description: The posted date of the latest transaction in the stream. | |
format: date | |
frequency: | |
$ref: "#/components/schemas/RecurringTransactionFrequency" | |
transaction_ids: | |
type: array | |
description: An array of Plaid transaction IDs belonging to the stream, sorted by posted date. | |
items: | |
type: string | |
average_amount: | |
$ref: "#/components/schemas/TransactionStreamAmount" | |
is_active: | |
type: boolean | |
description: indicates whether the transaction stream is still live. | |
required: | |
- account_id | |
- stream_id | |
- category | |
- category_id | |
- description | |
- first_date | |
- last_date | |
- frequency | |
- transaction_ids | |
- average_amount | |
- is_active | |
TransactionStreamAmount: | |
type: object | |
title: TransactionStreamAmount | |
description: Object with data pertaining to an amount on the transaction stream. | |
additionalProperties: true | |
properties: | |
amount: | |
type: number | |
description: represents the numerical value of an amount. | |
iso_currency_code: | |
type: string | |
description: |- | |
The ISO-4217 currency code of the amount. Always `null` if `unofficial_currency_code` is non-`null`. | |
See 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 | |
unofficial_currency_code: | |
type: string | |
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 | |
RecurringTransactionFrequency: | |
type: string | |
description: describes the frequency of the transaction stream. | |
title: RecurringTransactionFrequency | |
enum: | |
- UNKNOWN | |
- WEEKLY | |
- BIWEEKLY | |
- SEMI_MONTHLY | |
- MONTHLY | |
Institution: | |
title: Institution | |
type: object | |
additionalProperties: true | |
description: Details relating to a specific financial institution | |
properties: | |
institution_id: | |
type: string | |
description: Unique identifier for the institution | |
name: | |
type: string | |
description: The official name of the institution | |
products: | |
type: array | |
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. For more details, see [Full Auth coverage](https://plaid.com/docs/auth/coverage/). | |
items: | |
$ref: "#/components/schemas/Products" | |
country_codes: | |
type: array | |
description: A list of the country codes supported by the institution. | |
items: | |
$ref: "#/components/schemas/CountryCode" | |
url: | |
type: string | |
description: The URL for the institution's website | |
nullable: true | |
primary_color: | |
type: string | |
description: Hexadecimal representation of the primary color used by the institution | |
nullable: true | |
logo: | |
type: string | |
description: Base64 encoded representation of the institution's logo | |
nullable: true | |
routing_numbers: | |
type: array | |
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 | |
oauth: | |
type: boolean | |
description: Indicates that the institution has an OAuth login flow. This is primarily relevant to institutions with European country codes. | |
status: | |
$ref: "#/components/schemas/InstitutionStatus" | |
payment_initiation_metadata: | |
$ref: "#/components/schemas/PaymentInitiationMetadata" | |
auth_metadata: | |
$ref: "#/components/schemas/AuthMetadata" | |
required: | |
- institution_id | |
- name | |
- products | |
- country_codes | |
- routing_numbers | |
- oauth | |
InstitutionStatus: | |
title: InstitutionStatus | |
type: object | |
additionalProperties: true | |
properties: | |
item_logins: | |
$ref: "#/components/schemas/ProductStatus" | |
transactions_updates: | |
$ref: "#/components/schemas/ProductStatus" | |
auth: | |
$ref: "#/components/schemas/ProductStatus" | |
identity: | |
$ref: "#/components/schemas/ProductStatus" | |
investments_updates: | |
$ref: "#/components/schemas/ProductStatus" | |
liabilities_updates: | |
$ref: "#/components/schemas/ProductStatus" | |
liabilities: | |
$ref: "#/components/schemas/ProductStatus" | |
investments: | |
$ref: "#/components/schemas/ProductStatus" | |
health_incidents: | |
nullable: true | |
type: array | |
description: Details of recent health incidents associated with the institution. | |
items: | |
$ref: "#/components/schemas/HealthIncident" | |
required: | |
- item_logins | |
- transactions_updates | |
- auth | |
- identity | |
- investments_updates | |
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. | |
Institution 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. | |
x-examples: | |
example-1: | |
status: | |
item_logins: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.9 | |
error_plaid: 0.01 | |
error_institution: 0.09 | |
transactions_updates: | |
status: HEALTHY | |
last_status_change: "2019-02-12T08:22:00Z" | |
breakdown: | |
success: 0.95 | |
error_plaid: 0.02 | |
error_institution: 0.03 | |
refresh_interval: NORMAL | |
auth: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.91 | |
error_plaid: 0.01 | |
error_institution: 0.08 | |
identity: | |
status: DEGRADED | |
last_status_change: "2019-02-15T15:50:00Z" | |
breakdown: | |
success: 0.42 | |
error_plaid: 0.08 | |
error_institution: 0.5 | |
investments: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.89 | |
error_plaid: 0.02 | |
error_institution: 0.09 | |
liabilities: | |
status: HEALTHY | |
last_status_change: "2019-02-15T15:53:00Z" | |
breakdown: | |
success: 0.89 | |
error_plaid: 0.02 | |
error_institution: 0.09 | |
investments_updates: | |
status: HEALTHY | |
last_status_change: "2019-02-12T08:22:00Z" | |
breakdown: | |
success: 0.95 | |
error_plaid: 0.02 | |
error_institution: 0.03 | |
refresh_interval: NORMAL | |
liabilities_updates: | |
status: HEALTHY | |
last_status_change: "2019-02-12T08:22:00Z" | |
breakdown: | |
success: 0.95 | |
error_plaid: 0.02 | |
error_institution: 0.03 | |
refresh_interval: NORMAL | |
CountryCode: | |
type: string | |
title: CountryCode | |
enum: | |
- US | |
- GB | |
- ES | |
- NL | |
- FR | |
- IE | |
- CA | |
- DE | |
description: ISO-3166-1 alpha-2 country code standard. | |
PaymentMeta: | |
title: PaymentMeta | |
type: object | |
additionalProperties: true | |
description: |- | |
Transaction information specific to inter-bank transfers. If the transaction was not an inter-bank transfer, all fields will be `null`. | |
If 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: | |
reference_number: | |
type: string | |
description: The transaction reference number supplied by the financial institution. | |
nullable: true | |
ppd_id: | |
type: string | |
description: The ACH PPD ID for the payer. | |
nullable: true | |
payee: | |
type: string | |
description: For transfers, the party that is receiving the transaction. | |
nullable: true | |
by_order_of: | |
type: string | |
description: The party initiating a wire transfer. Will be `null` if the transaction is not a wire transfer. | |
nullable: true | |
payer: | |
type: string | |
description: For transfers, the party that is paying the transaction. | |
nullable: true | |
payment_method: | |
type: string | |
description: The type of transfer, e.g. 'ACH' | |
nullable: true | |
payment_processor: | |
type: string | |
description: The name of the payment processor | |
nullable: true | |
reason: | |
type: string | |
description: The payer-supplied description of the transfer. | |
nullable: true | |
required: | |
- reference_number | |
- ppd_id | |
- payee | |
- by_order_of | |
- payer | |
- payment_method | |
- payment_processor | |
- reason | |
TransactionCode: | |
type: string | |
title: transaction_code | |
description: |- | |
An identifier classifying the transaction type. | |
This field is only populated for European institutions. For institutions in the US and Canada, this field is set to `null`. | |
`adjustment:` Bank adjustment | |
`atm:` Cash deposit or withdrawal via an automated teller machine | |
`bank charge:` Charge or fee levied by the institution | |
`bill payment`: Payment of a bill | |
`cash:` Cash deposit or withdrawal | |
`cashback:` Cash withdrawal while making a debit card purchase | |
`cheque:` Document ordering the payment of money to another person or organization | |
`direct debit:` Automatic withdrawal of funds initiated by a third party at a regular interval | |
`interest:` Interest earned or incurred | |
`purchase:` Purchase made with a debit or credit card | |
`standing order:` Payment instructed by the account holder to a third party at a regular interval | |
`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 | |
Category: | |
title: Category | |
type: object | |
additionalProperties: true | |
description: Information describing a transaction category | |
properties: | |
category_id: | |
type: string | |
description: An identifying number for the category. `category_id` is a Plaid-specific identifier and does not necessarily correspond to merchant category codes. | |
group: | |
type: string | |
description: "`place` for physical transactions or `special` for other transactions such as bank charges." | |
hierarchy: | |
type: array | |
description: A hierarchical array of the categories to which this `category_id` belongs. | |
items: | |
type: string | |
required: | |
- category_id | |
- group | |
- hierarchy | |
PersonalFinanceCategory: | |
title: PersonalFinanceCategory | |
nullable: true | |
type: object | |
additionalProperties: true | |
description: |- | |
Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases. The field is currently in beta. | |
The complete category can be generated by concatenating primary and detailed categories. | |
This feature is currently in beta – to request access, contact transactions-feedback@plaid.com. | |
properties: | |
primary: | |
type: string | |
description: A high level category that communicates the broad category of the transaction. | |
detailed: | |
type: string | |
description: Provides additional granularity to the primary categorization. | |
required: | |
- primary | |
- detailed | |
AccessToken: | |
title: AccessToken | |
type: string | |
description: The access token associated with the Item data is being requested for. | |
AccessTokenNullable: | |
nullable: true | |
type: string | |
description: The access token associated with the Item data is being requested for. | |
TransferAccessToken: | |
description: The Plaid `access_token` for the account that will be debited or credited. | |
type: string | |
BankTransferAccessToken: | |
description: The Plaid `access_token` for the account that will be debited or credited. | |
type: string | |
APISecret: | |
title: APISecret | |
type: string | |
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. | |
APIClientID: | |
title: ClientID | |
type: string | |
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. | |
TransactionsRemovedWebhook: | |
title: TransactionsRemovedWebhook | |
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. | |
type: object | |
additionalProperties: true | |
properties: | |
webhook_type: | |
type: string | |
description: "`TRANSACTIONS`" | |
webhook_code: | |
type: string | |
description: "`TRANSACTIONS_REMOVED`" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
removed_transactions: | |
type: array | |
description: An array of `transaction_ids` corresponding to the removed transactions | |
items: | |
type: string | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
required: | |
- webhook_type | |
- webhook_code | |
- removed_transactions | |
- item_id | |
x-examples: | |
example-1: | |
webhook_type: TRANSACTIONS | |
webhook_code: TRANSACTIONS_REMOVED | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
removed_transactions: | |
- yBVBEwrPyJs8GvR77N7QTxnGg6wG74H7dEDN6 | |
- kgygNvAVPzSX9KkddNdWHaVGRVex1MHm3k9no | |
error: null | |
DefaultUpdateWebhook: | |
type: object | |
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. | |
x-examples: | |
example-1: | |
webhook_type: TRANSACTIONS | |
webhook_code: DEFAULT_UPDATE | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
new_transactions: 3 | |
properties: | |
webhook_type: | |
type: string | |
description: "`TRANSACTIONS`" | |
webhook_code: | |
type: string | |
description: "`DEFAULT_UPDATE`" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
new_transactions: | |
type: number | |
description: The number of new transactions detected since the last time this webhook was fired. | |
title: DefaultUpdateWebhook | |
item_id: | |
type: string | |
description: The `item_id` of the Item the webhook relates to. | |
required: | |
- webhook_type | |
- webhook_code | |
- new_transactions | |
- item_id | |
HistoricalUpdateWebhook: | |
title: HistoricalUpdateWebhook | |
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 `num_transactions` set to the number of net new transactions pulled after the account selection update. | |
type: object | |
additionalProperties: true | |
properties: | |
webhook_type: | |
type: string | |
description: "`TRANSACTIONS`" | |
webhook_code: | |
type: string | |
description: "`HISTORICAL_UPDATE`" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
new_transactions: | |
type: number | |
description: The number of new, unfetched transactions available | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
required: | |
- webhook_type | |
- webhook_code | |
- new_transactions | |
- item_id | |
x-examples: | |
example-1: | |
webhook_type: TRANSACTIONS | |
webhook_code: HISTORICAL_UPDATE | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
new_transactions: 231 | |
InitialUpdateWebhook: | |
title: InitialUpdateWebhook | |
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 `num_transactions` set to the number of net new transactions pulled after the account selection update. | |
type: object | |
additionalProperties: true | |
x-examples: | |
example-1: | |
webhook_type: TRANSACTIONS | |
webhook_code: INITIAL_UPDATE | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
new_transactions: 19 | |
properties: | |
webhook_type: | |
type: string | |
description: "`TRANSACTIONS`" | |
webhook_code: | |
type: string | |
description: "`INITIAL_UPDATE`" | |
error: | |
type: string | |
nullable: true | |
description: The error code associated with the webhook. | |
new_transactions: | |
type: number | |
description: The number of new, unfetched transactions available. | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
required: | |
- webhook_type | |
- webhook_code | |
- new_transactions | |
- item_id | |
PhoneNumber: | |
title: PhoneNumber | |
type: object | |
additionalProperties: true | |
description: A phone number | |
properties: | |
data: | |
type: string | |
description: The phone number. | |
primary: | |
type: boolean | |
description: When `true`, identifies the phone number as the primary number on an account. | |
type: | |
type: string | |
enum: | |
- home | |
- work | |
- office | |
- mobile | |
- mobile1 | |
- other | |
description: The type of phone number. | |
required: | |
- data | |
- primary | |
- type | |
Email: | |
title: Email | |
type: object | |
additionalProperties: true | |
properties: | |
data: | |
type: string | |
description: The email address. | |
primary: | |
type: boolean | |
description: When `true`, identifies the email address as the primary email on an account. | |
type: | |
type: string | |
enum: | |
- primary | |
- secondary | |
- other | |
description: The type of email account as described by the financial institution. | |
required: | |
- data | |
- primary | |
- type | |
description: An object representing an email address | |
Address: | |
title: Address | |
type: object | |
additionalProperties: true | |
description: A physical mailing address. | |
properties: | |
data: | |
$ref: "#/components/schemas/AddressData" | |
primary: | |
type: boolean | |
description: When `true`, identifies the address as the primary address on an account. | |
required: | |
- data | |
AddressNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/Address" | |
- type: object | |
additionalProperties: true | |
AddressDataNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/AddressData" | |
- type: object | |
additionalProperties: true | |
AddressData: | |
title: AddressData | |
type: object | |
additionalProperties: true | |
description: Data about the components comprising an address. | |
properties: | |
city: | |
type: string | |
description: The full city name | |
region: | |
type: string | |
description: |- | |
The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. | |
Example: `"NC"` | |
nullable: true | |
street: | |
type: string | |
description: |- | |
The full street address | |
Example: `"564 Main Street, APT 15"` | |
postal_code: | |
type: string | |
description: The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. | |
nullable: true | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code | |
nullable: true | |
required: | |
- city | |
- region | |
- street | |
- postal_code | |
- country | |
ProcessorToken: | |
title: ProcessorToken | |
type: string | |
description: "The processor token obtained from the Plaid integration partner. Processor tokens are in the format: `processor-<environment>-<identifier>`" | |
HistoricalBalance: | |
title: HistoricalBalance | |
type: object | |
additionalProperties: true | |
description: An object representing a balance held by an account in the past | |
properties: | |
date: | |
type: string | |
format: date | |
description: The date of the calculated historical balance, in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD) | |
current: | |
type: number | |
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. | |
If 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. | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the balance. Always `null` if `unofficial_currency_code` is non-`null`. | |
nullable: true | |
unofficial_currency_code: | |
type: string | |
description: |- | |
The unofficial currency code associated with the balance. Always `null` if `iso_currency_code` is non-`null`. | |
See 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 | |
required: | |
- date | |
- current | |
- iso_currency_code | |
- unofficial_currency_code | |
Owner: | |
title: Owner | |
type: object | |
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: | |
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. If the name of a business is reported, please contact Plaid Support. In the case of a joint account, Plaid will make a best effort to report the names of all account holders. | |
If an Item contains multiple accounts with different owner names, some institutions will report all names associated with the Item in each account's `names` array. | |
type: array | |
items: | |
type: string | |
phone_numbers: | |
type: array | |
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" | |
emails: | |
type: array | |
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" | |
addresses: | |
type: array | |
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" | |
required: | |
- names | |
- phone_numbers | |
- emails | |
- addresses | |
OwnerOverride: | |
title: OwnerOverride | |
type: object | |
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: | |
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. | |
type: array | |
items: | |
type: string | |
phone_numbers: | |
type: array | |
description: A list of phone numbers associated with the account. | |
items: | |
$ref: "#/components/schemas/PhoneNumber" | |
emails: | |
type: array | |
description: A list of email addresses associated with the account. | |
items: | |
$ref: "#/components/schemas/Email" | |
addresses: | |
type: array | |
description: Data about the various addresses associated with the account. | |
items: | |
$ref: "#/components/schemas/Address" | |
required: | |
- names | |
- phone_numbers | |
- emails | |
- addresses | |
LiabilitiesObject: | |
title: LiabilitiesObject | |
type: object | |
additionalProperties: true | |
description: An object containing liability accounts | |
properties: | |
credit: | |
type: array | |
description: The credit accounts returned. | |
nullable: true | |
items: | |
$ref: "#/components/schemas/CreditCardLiability" | |
mortgage: | |
description: The mortgage accounts returned. | |
type: array | |
nullable: true | |
items: | |
$ref: "#/components/schemas/MortgageLiability" | |
student: | |
description: The student loan accounts returned. | |
type: array | |
nullable: true | |
items: | |
$ref: "#/components/schemas/StudentLoan" | |
required: | |
- credit | |
- mortgage | |
- student | |
StudentLoan: | |
title: StudentLoan | |
type: object | |
additionalProperties: true | |
description: Contains details about a student loan account | |
properties: | |
account_id: | |
type: string | |
description: The ID of the account that this liability belongs to. | |
nullable: true | |
account_number: | |
type: string | |
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 | |
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). | |
type: array | |
nullable: true | |
items: | |
type: string | |
format: date | |
expected_payoff_date: | |
type: string | |
format: 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). | |
nullable: true | |
guarantor: | |
type: string | |
description: The guarantor of the student loan. | |
nullable: true | |
interest_rate_percentage: | |
description: The interest rate on the loan as a percentage. | |
type: number | |
is_overdue: | |
description: "`true` if a payment is currently overdue. Availability for this field is limited." | |
type: boolean | |
nullable: true | |
last_payment_amount: | |
description: The amount of the last payment. | |
type: number | |
nullable: true | |
last_payment_date: | |
type: string | |
format: 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). | |
nullable: true | |
last_statement_issue_date: | |
type: string | |
format: 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). | |
nullable: true | |
loan_name: | |
type: string | |
description: The type of loan, e.g., "Consolidation Loans". | |
nullable: true | |
loan_status: | |
$ref: "#/components/schemas/StudentLoanStatus" | |
minimum_payment_amount: | |
description: |- | |
The minimum payment due for the next billing cycle. There are some exceptions: | |
Some 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`). | |
Firstmark (`ins_116295` ) will display as $0 if there is an autopay program in effect. | |
type: number | |
nullable: true | |
next_payment_due_date: | |
type: string | |
format: 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). | |
nullable: true | |
origination_date: | |
type: string | |
format: 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). | |
nullable: true | |
origination_principal_amount: | |
description: The original principal balance of the loan. | |
type: number | |
nullable: true | |
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`. | |
type: number | |
nullable: true | |
payment_reference_number: | |
type: string | |
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 a`ccount_number,` but in some institutions, such as Great Lakes (`ins_116861`), it will be different. | |
nullable: true | |
pslf_status: | |
$ref: "#/components/schemas/PSLFStatus" | |
repayment_plan: | |
$ref: "#/components/schemas/StudentRepaymentPlan" | |
sequence_number: | |
type: string | |
description: The sequence number of the student loan. Heartland ECSI (`ins_116948`) does not make this field available. | |
nullable: true | |
servicer_address: | |
$ref: "#/components/schemas/ServicerAddressData" | |
ytd_interest_paid: | |
description: The year to date (YTD) interest paid. Availability for this field is limited. | |
type: number | |
nullable: true | |
ytd_principal_paid: | |
description: The year to date (YTD) principal paid. Availability for this field is limited. | |
type: number | |
nullable: true | |
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 | |
CreditCardLiability: | |
title: CreditCardLiability | |
type: object | |
additionalProperties: true | |
description: An object representing a credit card account. | |
properties: | |
account_id: | |
type: string | |
description: The ID of the account that this liability belongs to. | |
nullable: true | |
aprs: | |
type: array | |
description: The various interest rates that apply to the account. | |
items: | |
$ref: "#/components/schemas/APR" | |
is_overdue: | |
description: true if a payment is currently overdue. Availability for this field is limited. | |
type: boolean | |
nullable: true | |
last_payment_amount: | |
description: The amount of the last payment. | |
type: number | |
last_payment_date: | |
type: string | |
format: date | |
nullable: true | |
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. | |
last_statement_issue_date: | |
type: string | |
format: 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). | |
last_statement_balance: | |
description: The total amount owed as of the last statement issued | |
type: number | |
minimum_payment_amount: | |
description: The minimum payment due for the next billing cycle. | |
type: number | |
next_payment_due_date: | |
type: string | |
format: 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). | |
nullable: true | |
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 | |
MortgageLiability: | |
title: MortgageLiability | |
type: object | |
additionalProperties: true | |
description: Contains details about a mortgage account. | |
properties: | |
account_id: | |
type: string | |
description: The ID of the account that this liability belongs to. | |
account_number: | |
type: string | |
description: The account number of the loan. | |
current_late_fee: | |
description: The current outstanding amount charged for late payment. | |
type: number | |
nullable: true | |
escrow_balance: | |
type: number | |
description: Total amount held in escrow to pay taxes and insurance on behalf of the borrower. | |
nullable: true | |
has_pmi: | |
type: boolean | |
description: Indicates whether the borrower has private mortgage insurance in effect. | |
nullable: true | |
has_prepayment_penalty: | |
description: Indicates whether the borrower will pay a penalty for early payoff of mortgage. | |
type: boolean | |
nullable: true | |
interest_rate: | |
$ref: "#/components/schemas/MortgageInterestRate" | |
last_payment_amount: | |
description: The amount of the last payment. | |
type: number | |
nullable: true | |
last_payment_date: | |
type: string | |
format: 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). | |
nullable: true | |
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. | |
type: string | |
nullable: true | |
loan_term: | |
description: Full duration of mortgage as at origination (e.g. `10 year`). | |
type: string | |
nullable: true | |
maturity_date: | |
type: string | |
format: 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). | |
nullable: true | |
next_monthly_payment: | |
type: number | |
description: The amount of the next payment. | |
nullable: true | |
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). | |
type: string | |
format: date | |
nullable: true | |
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). | |
type: string | |
format: date | |
nullable: true | |
origination_principal_amount: | |
type: number | |
description: The original principal balance of the mortgage. | |
nullable: true | |
past_due_amount: | |
type: number | |
description: Amount of loan (principal + interest) past due for payment. | |
nullable: true | |
property_address: | |
$ref: "#/components/schemas/MortgagePropertyAddress" | |
ytd_interest_paid: | |
description: The year to date (YTD) interest paid. | |
type: number | |
nullable: true | |
ytd_principal_paid: | |
type: number | |
description: The YTD principal paid. | |
nullable: true | |
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 | |
MortgageInterestRate: | |
title: MortgageInterestRate | |
type: object | |
additionalProperties: true | |
description: Object containing metadata about the interest rate for the mortgage. | |
properties: | |
percentage: | |
type: number | |
description: Percentage value (interest rate of current mortgage, not APR) of interest payable on a loan. | |
nullable: true | |
type: | |
type: string | |
description: The type of interest charged (fixed or variable). | |
nullable: true | |
required: | |
- percentage | |
- type | |
MortgagePropertyAddress: | |
title: MortgagePropertyAddress | |
type: object | |
additionalProperties: true | |
description: Object containing fields describing property address. | |
properties: | |
city: | |
type: string | |
description: The city name. | |
nullable: true | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code. | |
nullable: true | |
postal_code: | |
type: string | |
description: The five or nine digit postal code. | |
nullable: true | |
region: | |
type: string | |
description: The region or state (example "NC"). | |
nullable: true | |
street: | |
type: string | |
description: The full street address (example "564 Main Street, Apt 15"). | |
nullable: true | |
required: | |
- city | |
- country | |
- postal_code | |
- region | |
- street | |
StudentLoanStatus: | |
title: StudentLoanStatus | |
type: object | |
additionalProperties: true | |
description: An object representing the status of the student loan | |
properties: | |
end_date: | |
type: string | |
format: 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). | |
nullable: true | |
type: | |
type: string | |
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 | |
description: The status type of the student loan | |
nullable: true | |
required: | |
- end_date | |
- type | |
StudentRepaymentPlan: | |
title: StudentRepaymentPlan | |
type: object | |
additionalProperties: true | |
description: An object representing the repayment plan for the student loan | |
properties: | |
description: | |
type: string | |
nullable: true | |
description: The description of the repayment plan as provided by the servicer. | |
type: | |
type: string | |
nullable: true | |
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 | |
description: The type of the repayment plan. | |
required: | |
- description | |
- type | |
PSLFStatus: | |
title: PSLFStatus | |
type: object | |
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: | |
type: string | |
format: 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). | |
nullable: true | |
payments_made: | |
type: number | |
description: The number of qualifying payments that have been made. | |
nullable: true | |
payments_remaining: | |
type: number | |
description: The number of qualifying payments remaining. | |
nullable: true | |
required: | |
- estimated_eligibility_date | |
- payments_made | |
- payments_remaining | |
ServicerAddressData: | |
title: ServicerAddressData | |
type: object | |
additionalProperties: true | |
description: The address of the student loan servicer. This is generally the remittance address to which payments should be sent. | |
properties: | |
city: | |
type: string | |
description: The full city name | |
nullable: true | |
region: | |
type: string | |
description: |- | |
The region or state | |
Example: `"NC"` | |
nullable: true | |
street: | |
type: string | |
description: |- | |
The full street address | |
Example: `"564 Main Street, APT 15"` | |
nullable: true | |
postal_code: | |
type: string | |
description: The postal code | |
nullable: true | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code | |
nullable: true | |
required: | |
- city | |
- region | |
- street | |
- postal_code | |
- country | |
APR: | |
title: APR | |
type: object | |
additionalProperties: true | |
description: Information about the APR on the account. | |
properties: | |
apr_percentage: | |
type: number | |
description: | | |
Annual Percentage Rate applied. | |
apr_type: | |
type: string | |
enum: | |
- balance_transfer_apr | |
- cash_apr | |
- purchase_apr | |
- special | |
description: The type of balance to which the APR applies. | |
balance_subject_to_apr: | |
type: number | |
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. | |
nullable: true | |
interest_charge_amount: | |
type: number | |
description: Amount of money charged due to interest from last statement. | |
nullable: true | |
required: | |
- apr_percentage | |
- apr_type | |
- balance_subject_to_apr | |
- interest_charge_amount | |
AuthMetadata: | |
title: AuthMetadata | |
type: object | |
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 | |
AuthSupportedMethods: | |
title: AuthSupportedMethods | |
type: object | |
additionalProperties: true | |
description: Metadata specifically related to which auth methods an institution supports. | |
nullable: true | |
properties: | |
instant_auth: | |
type: boolean | |
description: Indicates if instant auth is supported. | |
instant_match: | |
type: boolean | |
description: Indicates if instant match is supported. | |
automated_micro_deposits: | |
type: boolean | |
description: Indicates if automated microdeposits are supported. | |
required: | |
- instant_auth | |
- instant_match | |
- automated_micro_deposits | |
PaymentInitiationMetadata: | |
title: PaymentInitiationMetadata | |
type: object | |
additionalProperties: true | |
description: Metadata that captures what specific payment configurations an institution supports when making Payment Initiation requests. | |
nullable: true | |
properties: | |
supports_international_payments: | |
type: boolean | |
description: Indicates whether the institution supports payments from a different country. | |
maximum_payment_amount: | |
type: object | |
description: | | |
A mapping of currency to maximum payment amount (denominated in the smallest unit of currency) supported by the insitution. | |
Example: `{"GBP": "10000"}` | |
additionalProperties: | |
type: string | |
supports_refund_details: | |
type: boolean | |
description: Indicates whether the institution supports returning refund details when initiating a payment. | |
standing_order_metadata: | |
$ref: "#/components/schemas/PaymentInitiationStandingOrderMetadata" | |
required: | |
- supports_international_payments | |
- maximum_payment_amount | |
- supports_refund_details | |
- standing_order_metadata | |
PaymentInitiationStandingOrderMetadata: | |
title: PaymentInitiationStandingOrderMetadata | |
type: object | |
additionalProperties: true | |
description: Metadata specifically related to valid Payment Initiation standing order configurations for the institution. | |
nullable: true | |
properties: | |
supports_standing_order_end_date: | |
type: boolean | |
description: Indicates whether the institution supports closed-ended standing orders by providing an end date. | |
supports_standing_order_negative_execution_days: | |
type: boolean | |
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. | |
valid_standing_order_intervals: | |
type: array | |
description: A list of the valid standing order intervals supported by the institution. | |
items: | |
$ref: "#/components/schemas/PaymentScheduleInterval" | |
required: | |
- supports_standing_order_end_date | |
- supports_standing_order_negative_execution_days | |
- valid_standing_order_intervals | |
PaymentInitiationAddress: | |
title: PaymentInitiationAddress | |
type: object | |
additionalProperties: true | |
description: The optional address of the payment recipient. This object is not currently required to make payments from UK institutions and should not be populated, though may be necessary for future European expansion. | |
nullable: true | |
properties: | |
street: | |
description: An array of length 1-2 representing the street address where the recipient is located. Maximum of 70 characters. | |
type: array | |
minItems: 1 | |
items: | |
type: string | |
minLength: 1 | |
city: | |
type: string | |
description: The city where the recipient is located. Maximum of 35 characters. | |
minLength: 1 | |
maxLength: 35 | |
postal_code: | |
type: string | |
description: The postal code where the recipient is located. Maximum of 16 characters. | |
minLength: 1 | |
maxLength: 16 | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code where the recipient is located. | |
minLength: 2 | |
maxLength: 2 | |
required: | |
- street | |
- city | |
- postal_code | |
- country | |
ExternalPaymentScheduleBase: | |
title: ExternalPaymentScheduleBase | |
type: object | |
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: | |
interval: | |
$ref: "#/components/schemas/PaymentScheduleInterval" | |
interval_execution_day: | |
description: |- | |
The day of the interval on which to schedule the payment. | |
If the payment interval is weekly, `interval_execution_day` should be an integer from 1 (Monday) to 7 (Sunday). | |
If 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: | |
format: date | |
type: string | |
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`. | |
If 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. | |
end_date: | |
format: date | |
type: string | |
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`. | |
If 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. | |
nullable: true | |
adjusted_start_date: | |
format: date | |
type: string | |
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`. | |
nullable: true | |
ExternalPaymentScheduleRequest: | |
title: ExternalPaymentScheduleRequest | |
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. | |
allOf: | |
- $ref: "#/components/schemas/ExternalPaymentScheduleBase" | |
- type: object | |
required: | |
- start_date | |
- interval | |
- interval_execution_day | |
PaymentScheduleInterval: | |
type: string | |
title: PaymentScheduleInterval | |
enum: | |
- WEEKLY | |
- MONTHLY | |
description: The frequency interval of the payment. | |
minLength: 1 | |
PaymentScheme: | |
type: string | |
nullable: true | |
enum: | |
- null | |
- FASTER_PAYMENTS | |
- SEPA_CREDIT_TRANSFER | |
- SEPA_CREDIT_TRANSFER_INSTANT | |
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. | |
`FASTER_PAYMENTS`: Enables payments to move quickly between UK bank accounts. Default value in the UK. | |
`SEPA_CREDIT_TRANSFER`: The standard payment to a beneficiary within the SEPA area. | |
`SEPA_CREDIT_TRANSFER_INSTANT`: Instant payment within the SEPA area. May involve additional fees and may not be available at some banks. | |
ExternalPaymentOptions: | |
title: PaymentOptions | |
description: Additional payment options | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
request_refund_details: | |
type: boolean | |
nullable: true | |
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. | |
iban: | |
type: string | |
nullable: true | |
minLength: 15 | |
maxLength: 34 | |
description: The International Bank Account Number (IBAN) for the payer's account. If provided, the end user will be able to send payments only from the specified bank account. | |
bacs: | |
$ref: "#/components/schemas/PaymentInitiationOptionalRestrictionBacs" | |
wallet_id: | |
type: string | |
nullable: true | |
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. | |
minLength: 1 | |
scheme: | |
$ref: "#/components/schemas/PaymentScheme" | |
scheme_automatic_downgrade: | |
type: boolean | |
nullable: true | |
description: When `true`, Plaid will attempt to automatically downgrade payment `scheme` (e.g. `SEPA_CREDIT_TRANSFER_INSTANT` to `SEPA_CREDIT_TRANSFER`) when the requested scheme is not supported by the bank. | |
ExternalPaymentRefundDetails: | |
title: ExternalPaymentRefundDetails | |
type: object | |
nullable: true | |
properties: | |
name: | |
type: string | |
description: The name of the account holder. | |
iban: | |
type: string | |
description: The International Bank Account Number (IBAN) for the account. | |
nullable: true | |
bacs: | |
$ref: "#/components/schemas/RecipientBACSNullable" | |
required: | |
- name | |
- iban | |
- bacs | |
ExternalPaymentScheduleGet: | |
title: ExternalPaymentScheduleGet | |
nullable: 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. | |
allOf: | |
- $ref: "#/components/schemas/ExternalPaymentScheduleBase" | |
- type: object | |
required: | |
- adjusted_start_date | |
- end_date | |
- interval | |
- interval_execution_day | |
- start_date | |
Products: | |
title: Products | |
enum: | |
- assets | |
- auth | |
- balance | |
- identity | |
- investments | |
- liabilities | |
- payment_initiation | |
- transactions | |
- credit_details | |
- income | |
- income_verification | |
- deposit_switch | |
- standing_orders | |
- transfer | |
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. | |
type: string | |
ProductStatus: | |
title: ProductStatus | |
type: object | |
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. | |
properties: | |
status: | |
type: string | |
deprecated: true | |
enum: | |
- HEALTHY | |
- DEGRADED | |
- DOWN | |
description: |- | |
This field is deprecated in favor of the `breakdown` object, which provides more granular institution health data. | |
`HEALTHY`: the majority of requests are successful | |
`DEGRADED`: only some requests are successful | |
`DOWN`: all requests are failing | |
last_status_change: | |
type: string | |
format: date-time | |
description: | | |
[ISO 8601](https://wikipedia.org/wiki/ISO_8601) formatted timestamp of the last status change for the institution. | |
breakdown: | |
$ref: "#/components/schemas/ProductStatusBreakdown" | |
required: | |
- status | |
- last_status_change | |
- breakdown | |
ProductStatusBreakdown: | |
title: StatusBreakdown | |
type: object | |
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. | |
properties: | |
success: | |
description: The percentage of login attempts that are successful, expressed as a decimal. | |
type: number | |
error_plaid: | |
description: | | |
The percentage of logins that are failing due to an internal Plaid issue, expressed as a decimal. | |
type: number | |
error_institution: | |
description: The percentage of logins that are failing due to an issue in the institution's system, expressed as a decimal. | |
type: number | |
refresh_interval: | |
type: string | |
enum: | |
- NORMAL | |
- DELAYED | |
- STOPPED | |
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. | |
required: | |
- success | |
- error_plaid | |
- error_institution | |
UserCustomPassword: | |
title: UserCustomPassword | |
type: object | |
additionalProperties: true | |
description: Custom test accounts are configured with a JSON configuration object formulated according to the schema below. All fields are optional. Sending an empty object as a configuration will result in an account configured with random balances and transaction history. | |
x-examples: {} | |
properties: | |
version: | |
type: string | |
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 | |
seed: | |
type: string | |
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. | |
Note 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. | |
override_accounts: | |
type: array | |
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" | |
mfa: | |
$ref: "#/components/schemas/MFA" | |
recaptcha: | |
type: string | |
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. | |
force_error: | |
type: string | |
description: |- | |
An error code to force on Item creation. Possible values are: | |
`"INSTITUTION_NOT_RESPONDING"` | |
`"INSTITUTION_NO_LONGER_SUPPORTED"` | |
`"INVALID_CREDENTIALS"` | |
`"INVALID_MFA"` | |
`"ITEM_LOCKED"` | |
`"ITEM_LOGIN_REQUIRED"` | |
`"ITEM_NOT_SUPPORTED"` | |
`"INVALID_LINK_TOKEN"` | |
`"MFA_NOT_SUPPORTED"` | |
`"NO_ACCOUNTS"` | |
`"PLAID_ERROR"` | |
`"PRODUCTS_NOT_SUPPORTED"` | |
`"USER_SETUP_REQUIRED"` | |
required: | |
- seed | |
- override_accounts | |
- mfa | |
- recaptcha | |
- force_error | |
MFA: | |
title: MFA | |
type: object | |
additionalProperties: true | |
properties: | |
type: | |
type: string | |
description: |- | |
Possible values are `device`, `selections`, or `questions`. | |
If value is `device`, the MFA answer is `1234`. | |
If value is `selections`, the MFA answer is always the first option. | |
If 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`. | |
question_rounds: | |
type: number | |
description: "Number of rounds of questions. Required if value of `type` is `questions`. " | |
questions_per_round: | |
type: number | |
description: Number of questions per round. Required if value of `type` is `questions`. If value of type is `selections`, default value is 2. | |
selection_rounds: | |
description: Number of rounds of selections, used if `type` is `selections`. Defaults to 1. | |
type: number | |
selections_per_question: | |
type: number | |
description: | | |
Number of available answers per question, used if `type` is `selection`. Defaults to 2. | |
required: | |
- type | |
- question_rounds | |
- questions_per_round | |
- selection_rounds | |
- selections_per_question | |
description: Specifies the multi-factor authentication settings to use with this test account | |
OverrideAccounts: | |
title: OverrideAccounts | |
type: object | |
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: | |
type: | |
$ref: "#/components/schemas/OverrideAccountType" | |
subtype: | |
$ref: "#/components/schemas/AccountSubtype" | |
starting_balance: | |
type: number | |
description: | | |
If provided, the account will start with this amount as the current balance. | |
force_available_balance: | |
type: number | |
description: If provided, the account will always have this amount as its available balance, regardless of current balance or changes in transactions over time. | |
currency: | |
type: string | |
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. | |
meta: | |
$ref: "#/components/schemas/Meta" | |
numbers: | |
$ref: "#/components/schemas/Numbers" | |
transactions: | |
description: Specify the list of transactions on the account. | |
type: array | |
items: | |
$ref: "#/components/schemas/TransactionOverride" | |
holdings: | |
$ref: "#/components/schemas/HoldingsOverride" | |
investment_transactions: | |
$ref: "#/components/schemas/Investments_TransactionsOverride" | |
identity: | |
$ref: "#/components/schemas/OwnerOverride" | |
liability: | |
$ref: "#/components/schemas/LiabilityOverride" | |
inflow_model: | |
$ref: "#/components/schemas/InflowModel" | |
income: | |
$ref: "#/components/schemas/IncomeOverride" | |
required: | |
- type | |
- subtype | |
- starting_balance | |
- force_available_balance | |
- currency | |
- meta | |
- numbers | |
- transactions | |
- identity | |
- liability | |
- inflow_model | |
Meta: | |
title: Meta | |
type: object | |
additionalProperties: true | |
description: Allows specifying the metadata of the test account | |
properties: | |
name: | |
type: string | |
description: The account's name | |
official_name: | |
type: string | |
description: The account's official name | |
limit: | |
type: number | |
description: The account's limit | |
required: | |
- name | |
- official_name | |
- limit | |
Numbers: | |
title: Numbers | |
type: object | |
additionalProperties: true | |
description: Account and bank identifier number data used to configure the test account. All values are optional. | |
properties: | |
account: | |
type: string | |
description: Will be used for the account number. | |
ach_routing: | |
type: string | |
description: Must be a valid ACH routing number. | |
ach_wire_routing: | |
type: string | |
description: Must be a valid wire transfer routing number. | |
eft_institution: | |
type: string | |
description: EFT institution number. Must be specified alongside `eft_branch`. | |
eft_branch: | |
type: string | |
description: EFT branch number. Must be specified alongside `eft_institution`. | |
international_bic: | |
type: string | |
description: Bank identifier code (BIC). Must be specified alongside `international_iban`. | |
international_iban: | |
type: string | |
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`. | |
bacs_sort_code: | |
type: string | |
description: BACS sort code | |
TransactionOverride: | |
title: TransactionOverride | |
type: object | |
additionalProperties: true | |
description: Data to populate as test transaction data. If not specified, random transactions will be generated instead. | |
properties: | |
date_transacted: | |
type: string | |
format: date | |
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. | |
date_posted: | |
type: string | |
format: date | |
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. | |
amount: | |
type: number | |
description: The transaction amount. Can be negative. | |
description: | |
type: string | |
description: The transaction description. | |
currency: | |
type: string | |
description: The ISO-4217 format currency code for the transaction. | |
required: | |
- date_transacted | |
- date_posted | |
- amount | |
- description | |
SecurityOverride: | |
type: object | |
title: 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: | |
isin: | |
description: 12-character ISIN, a globally unique securities identifier. | |
type: string | |
cusip: | |
description: 9-character CUSIP, an identifier assigned to North American securities. | |
type: string | |
sedol: | |
description: 7-character SEDOL, an identifier assigned to securities in the UK. | |
type: string | |
name: | |
description: A descriptive name for the security, suitable for display. | |
type: string | |
ticker_symbol: | |
description: The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available. | |
type: string | |
currency: | |
description: Either a valid `iso_currency_code` or `unofficial_currency_code` | |
type: string | |
HoldingsOverride: | |
type: object | |
title: HoldingsOverride | |
description: Specify the holdings on the account. | |
properties: | |
institution_price: | |
description: The last price given by the institution for this security | |
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. | |
type: string | |
format: date | |
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. | |
type: number | |
quantity: | |
description: The total quantity of the asset held, as reported by the financial institution. | |
type: number | |
currency: | |
description: Either a valid `iso_currency_code` or `unofficial_currency_code` | |
type: string | |
security: | |
$ref: "#/components/schemas/SecurityOverride" | |
required: | |
- institution_price | |
- quantity | |
- currency | |
- security | |
Investments_TransactionsOverride: | |
type: object | |
description: Specify the list of investments transactions on the account. | |
title: Investments_TransactionsOverride | |
properties: | |
date: | |
description: Posting date for the transaction. Must be formatted as an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date. | |
type: string | |
format: date | |
name: | |
description: The institution's description of the transaction. | |
type: string | |
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. | |
type: number | |
price: | |
description: The price of the security at which this transaction occurred. | |
type: number | |
fees: | |
description: The combined value of all fees applied to this transaction. | |
type: number | |
type: | |
description: |- | |
The type of the investment transaction. Possible values are: | |
`buy`: Buying an investment | |
`sell`: Selling an investment | |
`cash`: Activity that modifies a cash position | |
`fee`: A fee on the account | |
`transfer`: Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer | |
type: string | |
currency: | |
description: Either a valid `iso_currency_code` or `unofficial_currency_code` | |
type: string | |
security: | |
$ref: "#/components/schemas/SecurityOverride" | |
required: | |
- date | |
- name | |
- quantity | |
- price | |
- type | |
- currency | |
LiabilityOverride: | |
type: object | |
additionalProperties: true | |
title: LiabilityOverride | |
properties: | |
type: | |
description: The type of the liability object, either `credit` or `student`. Mortgages are not currently supported in the custom Sandbox. | |
type: string | |
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`. | |
type: number | |
cash_apr: | |
type: number | |
description: The cash APR percentage value. Can only be set if `type` is `credit`. | |
balance_transfer_apr: | |
type: number | |
description: The balance transfer APR percentage value. Can only be set if `type` is `credit`. Can only be set if `type` is `credit`. | |
special_apr: | |
type: number | |
description: The special APR percentage value. Can only be set if `type` is `credit`. | |
last_payment_amount: | |
type: number | |
description: Override the `last_payment_amount` field. Can only be set if `type` is `credit`. | |
minimum_payment_amount: | |
type: number | |
description: Override the `minimum_payment_amount` field. Can only be set if `type` is `credit` or `student`. | |
is_overdue: | |
type: boolean | |
description: Override the `is_overdue` field | |
origination_date: | |
type: string | |
format: 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`. | |
principal: | |
description: The original loan principal. Can only be set if `type` is `student`. | |
type: number | |
nominal_apr: | |
description: The interest rate on the loan as a percentage. Can only be set if `type` is `student`. | |
type: number | |
interest_capitalization_grace_period_months: | |
type: number | |
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`. | |
repayment_model: | |
$ref: "#/components/schemas/StudentLoanRepaymentModel" | |
expected_payoff_date: | |
type: string | |
format: date | |
description: Override the `expected_payoff_date` field. Can only be set if `type` is `student`. | |
guarantor: | |
type: string | |
description: Override the `guarantor` field. Can only be set if `type` is `student`. | |
is_federal: | |
description: Override the `is_federal` field. Can only be set if `type` is `student`. | |
type: boolean | |
loan_name: | |
type: string | |
description: Override the `loan_name` field. Can only be set if `type` is `student`. | |
loan_status: | |
$ref: "#/components/schemas/StudentLoanStatus" | |
payment_reference_number: | |
type: string | |
description: Override the `payment_reference_number` field. Can only be set if `type` is `student`. | |
pslf_status: | |
$ref: "#/components/schemas/PSLFStatus" | |
repayment_plan_description: | |
type: string | |
description: Override the `repayment_plan.description` field. Can only be set if `type` is `student`. | |
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: | |
type: string | |
description: Override the `sequence_number` field. Can only be set if `type` is `student`. | |
servicer_address: | |
$ref: "#/components/schemas/Address" | |
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 | |
description: Used to configure Sandbox test data for the Liabilities product | |
StudentLoanRepaymentModel: | |
title: StudentLoanRepaymentModel | |
type: object | |
additionalProperties: true | |
properties: | |
type: | |
type: string | |
description: The only currently supported value for this field is `standard`. | |
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 | |
required: | |
- type | |
- non_repayment_months | |
- repayment_months | |
description: Student loan repayment information used to configure Sandbox test data for the Liabilities product | |
InflowModel: | |
title: InflowModel | |
type: object | |
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: | |
type: | |
type: string | |
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`." | |
income_amount: | |
type: number | |
description: Amount of income per month. This value is required if `type` is `monthly-income`. | |
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 | |
transaction_name: | |
type: string | |
description: The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`. | |
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 | |
required: | |
- type | |
- income_amount | |
- payment_day_of_month | |
- transaction_name | |
- statement_day_of_month | |
IncomeOverride: | |
title: IncomeOverride | |
type: object | |
description: Specify payroll data on the account. | |
properties: | |
paystubs: | |
type: array | |
description: A list of paystubs associated with the account. | |
items: | |
$ref: "#/components/schemas/PaystubOverride" | |
PaystubOverride: | |
title: PaystubOverride | |
type: object | |
description: An object representing data from a paystub. | |
properties: | |
employer: | |
type: object | |
description: The employer on the paystub. | |
properties: | |
name: | |
type: string | |
description: The name of the employer. | |
employee: | |
type: object | |
description: The employee on the paystub. | |
properties: | |
name: | |
type: string | |
description: The name of the employee. | |
address: | |
type: object | |
description: The address of the employee. | |
properties: | |
city: | |
type: string | |
description: The full city name. | |
region: | |
type: string | |
description: |- | |
The region or state | |
Example: `"NC"` | |
street: | |
type: string | |
description: |- | |
The full street address | |
Example: `"564 Main Street, APT 15"` | |
postal_code: | |
type: string | |
description: 5 digit postal code. | |
country: | |
type: string | |
description: The country of the address. | |
income_breakdown: | |
type: array | |
items: | |
$ref: "#/components/schemas/IncomeBreakdown" | |
pay_period_details: | |
$ref: "#/components/schemas/PayPeriodDetails" | |
ItemId: | |
title: ItemId | |
type: string | |
description: The `item_id` of the Item associated with this webhook, warning, or error | |
AutomaticallyVerifiedWebhook: | |
title: AutomaticallyVerifiedWebhook | |
type: object | |
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: | |
webhook_type: | |
type: string | |
description: "`AUTH`" | |
webhook_code: | |
type: string | |
description: "`AUTOMATICALLY_VERIFIED`" | |
account_id: | |
type: string | |
description: The `account_id` of the account associated with the webhook | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
required: | |
- webhook_type | |
- webhook_code | |
- account_id | |
- item_id | |
x-examples: | |
example-1: | |
webhook_type: AUTH | |
webhook_code: AUTOMATICALLY_VERIFIED | |
item_id: eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6 | |
account_id: dVzbVMLjrxTnLjX4G66XUp5GLklm4oiZy88yK | |
JWTHeader: | |
title: JWTHeader | |
type: object | |
additionalProperties: true | |
properties: | |
id: | |
type: string | |
required: | |
- id | |
description: A JWT Header, used for webhook validation | |
VerificationExpiredWebhook: | |
title: VerificationExpiredWebhook | |
type: object | |
additionalProperties: true | |
description: Fired when an Item was not verified via automated micro-deposits after seven days since the automated micro-deposit was made. | |
x-examples: | |
example-1: | |
webhook_type: AUTH | |
webhook_code: VERIFICATION_EXPIRED | |
item_id: eVBnVMp7zdTJLkRNr33Rs6zr7KNJqBFL9DrE6 | |
account_id: BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp | |
properties: | |
webhook_type: | |
type: string | |
description: "`AUTH`" | |
webhook_code: | |
type: string | |
description: "`VERIFICATION_EXPIRED`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
account_id: | |
type: string | |
description: The `account_id` of the account associated with the webhook | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- account_id | |
WebhookUpdateAcknowledgedWebhook: | |
title: WebhookUpdateAcknowledgedWebhook | |
type: object | |
additionalProperties: true | |
description: Fired when an Item's webhook is updated. This will be sent to the newly specified webhook. | |
x-examples: | |
example-1: | |
webhook_type: ITEM | |
webhook_code: WEBHOOK_UPDATE_ACKNOWLEDGED | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
new_webhook_url: https://plaid.com/example/webhook | |
properties: | |
webhook_type: | |
type: string | |
description: "`ITEM`" | |
webhook_code: | |
type: string | |
description: "`WEBHOOK_UPDATE_ACKNOWLEDGED`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
new_webhook_url: | |
type: string | |
description: The new webhook URL | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- new_webhook_url | |
PendingExpirationWebhook: | |
title: PendingExpirationWebhook | |
type: object | |
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: | |
webhook_type: | |
type: string | |
description: "`ITEM`" | |
webhook_code: | |
type: string | |
description: "`PENDING_EXPIRATION`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
consent_expiration_time: | |
type: string | |
format: date-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 | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- consent_expiration_time | |
x-examples: | |
example-1: | |
webhook_type: ITEM | |
webhook_code: PENDING_EXPIRATION | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
consent_expiration_time: "2020-01-15T13:25:17.766Z" | |
ItemErrorWebhook: | |
title: ItemErrorWebhook | |
type: object | |
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: | |
webhook_type: | |
type: string | |
description: "`ITEM`" | |
webhook_code: | |
type: string | |
description: "`ERROR`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- error | |
x-examples: | |
example-1: | |
webhook_type: ITEM | |
webhook_code: ERROR | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
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 | |
ItemProductReadyWebhook: | |
title: ItemProductReadyWebhook | |
type: object | |
additionalProperties: true | |
description: Fired once Plaid calculates income from an Item. | |
properties: | |
webhook_type: | |
type: string | |
description: "`INCOME`" | |
webhook_code: | |
type: string | |
description: "`PRODUCT_READY`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
x-examples: | |
example-1: | |
webhook_type: INCOME | |
webhook_code: PRODUCT_READY | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
Recaptcha_RequiredError: | |
title: Recaptcha_RequiredError | |
type: object | |
additionalProperties: true | |
description: The request was flagged by Plaid's fraud system, and requires additional verification to ensure they are not a bot. | |
x-examples: | |
example-1: | |
error_type: RECAPTCHA_ERROR | |
error_code: RECAPTCHA_REQUIRED | |
error_message: This request requires additional verification. Please resubmit the request after completing the challenge | |
display_message: null | |
http_code: 400 | |
request_id: HNTDNrA8F1shFEW | |
properties: | |
error_type: | |
type: string | |
description: RECAPTCHA_ERROR | |
error_code: | |
type: string | |
description: RECAPTCHA_REQUIRED | |
display_message: | |
type: string | |
http_code: | |
type: string | |
description: "400" | |
link_user_experience: | |
type: string | |
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. | |
common_causes: | |
type: string | |
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. | |
troubleshooting_steps: | |
type: string | |
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. | |
If your user cannot verify their session, please submit a Support ticket with the following identifiers: `link_session_id` or `request_id` | |
required: | |
- error_type | |
- error_code | |
- display_message | |
- http_code | |
- link_user_experience | |
- common_causes | |
- troubleshooting_steps | |
BankTransfersEventsUpdateWebhook: | |
title: BankTransfersEventsUpdateWebhook | |
type: object | |
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`. | |
x-examples: | |
example-1: | |
webhook_type: BANK_TRANSFERS | |
webhook_code: BANK_TRANSFERS_EVENTS_UPDATE | |
properties: | |
webhook_type: | |
type: string | |
description: "`BANK_TRANSFERS`" | |
webhook_code: | |
type: string | |
description: "`BANK_TRANSFERS_EVENTS_UPDATE`" | |
required: | |
- webhook_type | |
- webhook_code | |
InvestmentsDefaultUpdateWebhook: | |
title: TransactionsUpdateInvestmentsWebhook | |
type: object | |
additionalProperties: true | |
description: Fired when new or canceled transactions have been detected on an investment account. | |
x-examples: | |
example-1: | |
webhook_type: INVESTMENTS_TRANSACTIONS | |
webhook_code: DEFAULT_UPDATE | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
new_investments_transactions: 16 | |
canceled_investments_transactions: 0 | |
properties: | |
webhook_type: | |
type: string | |
description: "`INVESTMENTS_TRANSACTIONS`" | |
webhook_code: | |
type: string | |
description: "`DEFAULT_UPDATE`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
new_investments_transactions: | |
type: number | |
description: The number of new transactions reported since the last time this webhook was fired. | |
canceled_investments_transactions: | |
type: number | |
description: The number of canceled transactions reported since the last time this webhook was fired. | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- new_investments_transactions | |
- canceled_investments_transactions | |
HoldingsDefaultUpdateWebhook: | |
title: HoldingsDefaultUpdateWebhook | |
type: object | |
additionalProperties: true | |
description: Fired when new or updated holdings have been detected on an investment account. The webhook typically fires once per day, after market close, in response to any newly added holdings or price changes to existing holdings. | |
x-examples: | |
example-1: | |
webhook_type: HOLDINGS | |
webhook_code: DEFAULT_UPDATE | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
new_holdings: 19 | |
updated_holdings: 0 | |
properties: | |
webhook_type: | |
type: string | |
description: "`HOLDINGS`" | |
webhook_code: | |
type: string | |
description: "`DEFAULT_UPDATE`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
new_holdings: | |
type: number | |
description: The number of new holdings reported since the last time this webhook was fired. | |
updated_holdings: | |
type: number | |
description: The number of updated holdings reported since the last time this webhook was fired. | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- new_holdings | |
- updated_holdings | |
LiabilitiesDefaultUpdateWebhook: | |
title: LiabilitiesDefaultUpdateWebhook | |
type: object | |
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. | |
x-examples: | |
example-1: | |
webhook_type: LIABILITIES | |
webhook_code: DEFAULT_UPDATE | |
item_id: wz666MBjYWTp2PDzzggYhM6oWWmBb | |
error: null | |
account_ids_with_new_liabilities: | |
- XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58 | |
- BxBXxLj1m4HMXBm9WZZmCWVbPjX16EHwv99vp | |
account_ids_with_updated_liabilities: | |
XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58: | |
- past_amount_due | |
properties: | |
webhook_type: | |
type: string | |
description: "`LIABILITIES`" | |
webhook_code: | |
type: string | |
description: "`DEFAULT_UPDATE`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
account_ids_with_new_liabilities: | |
type: array | |
description: An array of `account_id`'s for accounts that contain new liabilities. | |
items: | |
type: string | |
account_ids_with_updated_liabilities: | |
type: object | |
additionalProperties: | |
type: array | |
items: | |
type: string | |
description: | | |
An object with keys of `account_id`'s that are mapped to their respective liabilities fields that changed. | |
Example: `{ "XMBvvyMGQ1UoLbKByoMqH3nXMj84ALSdE5B58": ["past_amount_due"] }` | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
- error | |
- account_ids_with_new_liabilities | |
- account_ids_with_updated_liabilities | |
AssetsProductReadyWebhook: | |
title: AssetsProductReadyWebhook | |
type: object | |
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: | |
webhook_type: | |
type: string | |
description: "`ASSETS`" | |
webhook_code: | |
type: string | |
description: "`PRODUCT_READY`" | |
asset_report_id: | |
type: string | |
description: The `asset_report_id` that can be provided to `/asset_report/get` to retrieve the Asset Report. | |
required: | |
- webhook_type | |
- webhook_code | |
- asset_report_id | |
x-examples: | |
example-1: | |
webhook_type: ASSETS | |
webhook_code: PRODUCT_READY | |
asset_report_id: 47dfc92b-bba3-4583-809e-ce871b321f05 | |
AssetsErrorWebhook: | |
title: AssetsErrorWebhook | |
type: object | |
additionalProperties: true | |
description: Fired when Asset Report generation has failed. The resulting `error` will have an `error_type` of `ASSET_REPORT_ERROR`. | |
x-examples: | |
example-1: | |
webhook_type: ASSETS | |
webhook_code: ERROR | |
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 | |
properties: | |
webhook_type: | |
type: string | |
description: "`ASSETS`" | |
webhook_code: | |
type: string | |
description: "`ERROR`" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
asset_report_id: | |
type: string | |
description: The ID associated with the Asset Report. | |
required: | |
- webhook_type | |
- webhook_code | |
- error | |
- asset_report_id | |
Cause: | |
title: Cause | |
type: object | |
additionalProperties: true | |
properties: | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- item_id | |
- error | |
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. | |
Warning: | |
title: Warning | |
type: object | |
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: | |
warning_type: | |
type: string | |
description: The warning type, which will always be `ASSET_REPORT_WARNING` | |
warning_code: | |
type: string | |
enum: | |
- OWNERS_UNAVAILABLE | |
description: The warning code identifies a specific kind of warning. Currently, the only possible warning code is `OWNERS_UNAVAILABLE`, which indicates that account-owner information is not available. | |
cause: | |
$ref: "#/components/schemas/Cause" | |
required: | |
- warning_type | |
- warning_code | |
- cause | |
x-examples: | |
example-1: | |
warning_type: ASSET_REPORT_WARNING | |
warning_code: OWNERS_UNAVAILABLE | |
cause: | |
error_type: ITEM_ERROR | |
http_code: 400 | |
error_code: PRODUCTS_NOT_SUPPORTED | |
error_message: "The following products are not supported by this institution: Identity" | |
display_message: null | |
request_id: s32PXYOyplhGTHd | |
PaymentAmount: | |
title: PaymentAmount | |
type: object | |
additionalProperties: true | |
properties: | |
currency: | |
type: string | |
enum: | |
- GBP | |
- EUR | |
description: The ISO-4217 currency code of the payment. For standing orders, `"GBP"` must be used. | |
minLength: 3 | |
maxLength: 3 | |
value: | |
type: number | |
description: The amount of the payment. Must contain at most two digits of precision e.g. `1.23`. Minimum accepted value is `1`. | |
required: | |
- currency | |
- value | |
description: The amount and currency of a payment | |
AssetReportUser: | |
title: AssetReportUser | |
type: object | |
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: | |
type: string | |
nullable: true | |
description: An identifier you determine and submit for the user. | |
first_name: | |
type: string | |
nullable: true | |
description: The user's first name. Required for the Fannie Mae Day 1 Certainty™ program. | |
middle_name: | |
type: string | |
nullable: true | |
description: The user's middle name | |
last_name: | |
type: string | |
nullable: true | |
description: The user's last name. Required for the Fannie Mae Day 1 Certainty™ program. | |
ssn: | |
type: string | |
nullable: true | |
description: |- | |
The user's Social Security Number. Required for the Fannie Mae Day 1 Certainty™ program. | |
Format: "ddd-dd-dddd" | |
phone_number: | |
type: string | |
nullable: true | |
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.' | |
email: | |
type: string | |
nullable: true | |
description: The user's email address. | |
AssetReportId: | |
title: AssetReportId | |
description: A unique ID identifying an Asset Report. Like all Plaid identifiers, this ID is case sensitive. | |
type: string | |
AssetReportToken: | |
title: AssetReportToken | |
type: string | |
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. | |
AssetReportRefreshAssetReportToken: | |
title: AssetReportRefreshAssetReportToken | |
type: string | |
description: The `asset_report_token` returned by the original call to `/asset_report/create` | |
StandaloneCurrencyCodeList: | |
title: StandaloneCurrencyCodeList | |
type: object | |
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 | |
UnofficialCurrencyCodeList: | |
title: UnofficialCurrencyCodeList | |
type: string | |
description: List of unofficial currency codes | |
properties: | |
ADA: | |
type: string | |
description: Cardano | |
BAT: | |
type: string | |
description: Basic Attention Token | |
BCH: | |
type: string | |
description: Bitcoin Cash | |
BNB: | |
type: string | |
description: Binance Coin | |
BTC: | |
type: string | |
description: Bitcoin | |
BTG: | |
type: string | |
description: Bitcoin Gold | |
BSV: | |
type: string | |
description: Bitcoin Satoshi Vision | |
CNH: | |
type: string | |
description: Chinese Yuan (offshore) | |
DASH: | |
type: string | |
description: Dash | |
DOGE: | |
type: string | |
description: Dogecoin | |
ETC: | |
type: string | |
description: Ethereum Classic | |
ETH: | |
type: string | |
description: Ethereum | |
GBX: | |
type: string | |
description: Pence sterling, i.e. British penny | |
LSK: | |
type: string | |
description: Lisk | |
NEO: | |
type: string | |
description: Neo | |
OMG: | |
type: string | |
description: OmiseGO | |
QTUM: | |
type: string | |
description: Qtum | |
USDT: | |
type: string | |
description: TehterUS | |
XLM: | |
type: string | |
description: Stellar Lumen | |
XMR: | |
type: string | |
description: Monero | |
XRP: | |
type: string | |
description: Ripple | |
ZEC: | |
type: string | |
description: Zcash | |
ZRX: | |
type: string | |
description: 0x | |
required: | |
- ADA | |
- BAT | |
- BCH | |
- BNB | |
- BTC | |
- BTG | |
- CNH | |
- DASH | |
- DOGE | |
- ETC | |
- ETH | |
- GBX | |
- LSK | |
- NEO | |
- OMG | |
- QTUM | |
- USDT | |
- XLM | |
- XMR | |
- XRP | |
- ZEC | |
- ZRX | |
StandaloneAccountType: | |
title: StandaloneAccountType | |
description: The schema below describes the various `types` and corresponding `subtypes` that Plaid recognizes and reports for financial institution accounts. | |
type: object | |
additionalProperties: true | |
properties: | |
depository: | |
$ref: "#/components/schemas/DepositoryAccount" | |
credit: | |
$ref: "#/components/schemas/CreditAccount" | |
loan: | |
$ref: "#/components/schemas/LoanAccount" | |
investment: | |
$ref: "#/components/schemas/InvestmentAccountSubtype" | |
other: | |
type: string | |
description: "Other or unknown account type. Supported products for `other` accounts are: Balance, Transactions, Identity, and Assets." | |
required: | |
- depository | |
- credit | |
- loan | |
- investment | |
- other | |
DepositoryAccount: | |
title: DepositoryAccount | |
description: "An account type holding cash, in which funds are deposited. Supported products for `depository` accounts are: Auth, Balance, Transactions, Identity, Payment Initiation, and Assets." | |
type: string | |
properties: | |
checking: | |
type: string | |
description: Checking account | |
savings: | |
type: string | |
description: Savings account | |
hsa: | |
type: string | |
description: Health Savings Account (US only) that can only hold cash | |
cd: | |
type: string | |
description: Certificate of deposit account | |
money market: | |
type: string | |
description: Money market account | |
paypal: | |
type: string | |
description: PayPal depository account | |
prepaid: | |
type: string | |
description: Prepaid debit card | |
cash management: | |
type: string | |
description: A cash management account, typically a cash account at a brokerage | |
ebt: | |
type: string | |
description: An Electronic Benefit Transfer (EBT) account, used by certain public assistance programs to distribute funds (US only) | |
required: | |
- checking | |
- savings | |
- hsa | |
- cd | |
- money market | |
- paypal | |
- prepaid | |
- cash management | |
- ebt | |
CreditAccount: | |
title: CreditAccount | |
type: string | |
description: "A credit card type account. Supported products for `credit` accounts are: Balance, Transactions, Identity, and Liabilities." | |
properties: | |
credit card: | |
type: string | |
description: Bank-issued credit card | |
paypal: | |
type: string | |
description: PayPal-issued credit card | |
required: | |
- credit card | |
- paypal | |
LoanAccount: | |
title: LoanAccount | |
type: string | |
description: "A loan type account. Supported products for `loan` accounts are: Balance, Liabilities, and Transactions." | |
properties: | |
auto: | |
type: string | |
description: Auto loan | |
business: | |
type: string | |
description: Business loan | |
commercial: | |
type: string | |
description: Commercial loan | |
construction: | |
type: string | |
description: Construction loan | |
consumer: | |
type: string | |
description: Consumer loan | |
home equity: | |
type: string | |
description: Home Equity Line of Credit (HELOC) | |
loan: | |
type: string | |
description: General loan | |
mortgage: | |
type: string | |
description: Mortgage loan | |
overdraft: | |
type: string | |
description: Pre-approved overdraft account, usually tied to a checking account | |
line of credit: | |
type: string | |
description: Pre-approved line of credit | |
student: | |
type: string | |
description: Student loan | |
other: | |
type: string | |
description: Other loan type or unknown loan type | |
required: | |
- auto | |
- business | |
- commercial | |
- construction | |
- consumer | |
- home equity | |
- loan | |
- mortgage | |
- overdraft | |
- line of credit | |
- student | |
- other | |
InvestmentAccountSubtype: | |
title: InvestmentAccountSubtype | |
type: string | |
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": | |
type: string | |
description: | | |
Tax-advantaged college savings and prepaid tuition 529 plans (US) | |
401a: | |
type: string | |
description: Employer-sponsored money-purchase 401(a) retirement plan (US) | |
401k: | |
type: string | |
description: Standard 401(k) retirement account (US) | |
403B: | |
type: string | |
description: 403(b) retirement savings account for non-profits and schools (US) | |
457b: | |
type: string | |
description: Tax-advantaged deferred-compensation 457(b) retirement plan for governments and non-profits (US) | |
brokerage: | |
type: string | |
description: Standard brokerage account | |
cash isa: | |
type: string | |
description: Individual Savings Account (ISA) that pays interest tax-free (UK) | |
education savings account: | |
type: string | |
description: Tax-advantaged Coverdell Education Savings Account (ESA) (US) | |
fixed annuity: | |
type: string | |
description: Fixed annuity | |
gic: | |
type: string | |
description: Guaranteed Investment Certificate (Canada) | |
health reimbursement arrangement: | |
type: string | |
description: Tax-advantaged Health Reimbursement Arrangement (HRA) benefit plan (US) | |
hsa: | |
type: string | |
description: | | |
Non-cash tax-advantaged medical Health Savings Account (HSA) (US) | |
ira: | |
type: string | |
description: Traditional Invididual Retirement Account (IRA) (US) | |
isa: | |
type: string | |
description: Non-cash Individual Savings Account (ISA) (UK) | |
keogh: | |
type: string | |
description: Keogh self-employed retirement plan (US) | |
lif: | |
type: string | |
description: | | |
Life Income Fund (LIF) retirement account (Canada) | |
life insurance: | |
type: string | |
description: Life insurance account | |
lira: | |
type: string | |
description: Locked-in Retirement Account (LIRA) (Canada) | |
lrif: | |
type: string | |
description: Locked-in Retirement Income Fund (LRIF) (Canada) | |
lrsp: | |
type: string | |
description: Locked-in Retirement Savings Plan (Canada) | |
mutual fund: | |
type: string | |
description: Mutual fund account | |
non-taxable brokerage account: | |
type: string | |
description: A non-taxable brokerage account that is not covered by a more specific subtype | |
other: | |
type: string | |
description: An account whose type could not be determined | |
other annuity: | |
type: string | |
description: An annuity account not covered by other subtypes | |
other insurance: | |
type: string | |
description: An insurance account not covered by other subtypes | |
pension: | |
type: string | |
description: Standard pension account | |
prif: | |
type: string | |
description: Prescribed Registered Retirement Income Fund (Canada) | |
profit sharing plan: | |
type: string | |
description: Plan that gives employees share of company profits | |
qshr: | |
type: string | |
description: Qualifying share account | |
rdsp: | |
type: string | |
description: Registered Disability Savings Plan (RSDP) (Canada) | |
resp: | |
type: string | |
description: Registered Education Savings Plan (Canada) | |
retirement: | |
type: string | |
description: Retirement account not covered by other subtypes | |
rlif: | |
type: string | |
description: Restricted Life Income Fund (RLIF) (Canada) | |
roth: | |
type: string | |
description: Roth IRA (US) | |
roth 401k: | |
type: string | |
description: Employer-sponsored Roth 401(k) plan (US) | |
rrif: | |
type: string | |
description: Registered Retirement Income Fund (RRIF) (Canada) | |
rrsp: | |
type: string | |
description: Registered Retirement Savings Plan (Canadian, similar to US 401(k)) | |
sarsep: | |
type: string | |
description: Salary Reduction Simplified Employee Pension Plan (SARSEP), discontinued retirement plan (US) | |
sep ira: | |
type: string | |
description: Simplified Employee Pension IRA (SEP IRA), retirement plan for small businesses and self-employed (US) | |
simple ira: | |
type: string | |
description: Savings Incentive Match Plan for Employees IRA, retirement plan for small businesses (US) | |
sipp: | |
type: string | |
description: Self-Invested Personal Pension (SIPP) (UK) | |
stock plan: | |
type: string | |
description: Standard stock plan account | |
tfsa: | |
type: string | |
description: Tax-Free Savings Account (TFSA), a retirement plan similar to a Roth IRA (Canada) | |
trust: | |
type: string | |
description: Account representing funds or assets held by a trustee for the benefit of a beneficiary. Includes both revocable and irrevocable trusts. | |
ugma: | |
type: string | |
description: "'Uniform Gift to Minors Act' (brokerage account for minors, US)" | |
utma: | |
type: string | |
description: | | |
'Uniform Transfers to Minors Act' (brokerage account for minors, US) | |
variable annuity: | |
type: string | |
description: Tax-deferred capital accumulation annuity contract | |
required: | |
- "529" | |
- 401a | |
- 401k | |
- 403B | |
- 457b | |
- brokerage | |
- cash isa | |
- education savings account | |
- fixed annuity | |
- gic | |
- health reimbursement arrangement | |
- hsa | |
- ira | |
- isa | |
- keogh | |
- lif | |
- life insurance | |
- lira | |
- lrif | |
- lrsp | |
- mutual fund | |
- 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 | |
AssetReport: | |
title: AssetReport | |
type: object | |
additionalProperties: true | |
description: An object representing an Asset Report | |
properties: | |
asset_report_id: | |
$ref: "#/components/schemas/AssetReportId" | |
client_report_id: | |
type: string | |
nullable: true | |
description: An identifier you determine and submit for the Asset Report. | |
date_generated: | |
type: string | |
format: date-time | |
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"). | |
days_requested: | |
type: number | |
description: The duration of transaction history you requested | |
user: | |
$ref: "#/components/schemas/AssetReportUser" | |
items: | |
type: array | |
description: Data returned by Plaid about each of the Items included in the Asset Report. | |
items: | |
$ref: "#/components/schemas/AssetReportItem" | |
required: | |
- asset_report_id | |
- client_report_id | |
- date_generated | |
- days_requested | |
- user | |
- items | |
AssetReportItem: | |
title: AssetReportItem | |
type: object | |
additionalProperties: true | |
description: A representation of an Item within an Asset Report. | |
properties: | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
institution_name: | |
type: string | |
description: The full financial institution name associated with the Item. | |
institution_id: | |
description: The id of the financial institution associated with the Item. | |
type: string | |
date_last_updated: | |
type: string | |
format: date-time | |
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. | |
accounts: | |
type: array | |
description: Data about each of the accounts open on the Item. | |
items: | |
$ref: "#/components/schemas/AccountAssets" | |
required: | |
- item_id | |
- institution_name | |
- institution_id | |
- date_last_updated | |
- accounts | |
PaymentStatusUpdateWebhook: | |
title: PaymentStatusUpdateWebhook | |
type: object | |
additionalProperties: true | |
description: Fired when the status of a payment has changed. | |
x-examples: | |
example-1: | |
webhook_type: PAYMENT_INITIATION | |
webhook_code: PAYMENT_STATUS_UPDATE | |
payment_id: payment-id-production-2ba30780-d549-4335-b1fe-c2a938aa39d2 | |
new_payment_status: PAYMENT_STATUS_INITIATED | |
old_payment_status: PAYMENT_STATUS_PROCESSING | |
original_reference: Account Funding 99744 | |
adjusted_reference: Account Funding 99 | |
original_start_date: "2017-09-14" | |
adjusted_start_date: "2017-09-15" | |
timestamp: "2017-09-14T14:42:19.350Z" | |
error: null | |
properties: | |
webhook_type: | |
type: string | |
description: "`PAYMENT_INITIATION`" | |
webhook_code: | |
type: string | |
description: "`PAYMENT_STATUS_UPDATE`" | |
payment_id: | |
type: string | |
description: The `payment_id` for the payment being updated | |
new_payment_status: | |
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 | |
type: string | |
description: |- | |
The new status of the payment. | |
`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. | |
`PAYMENT_STATUS_PROCESSING`: The payment is currently being processed. The payment will automatically exit this state when processing is complete. | |
`PAYMENT_STATUS_INITIATED`: The payment has been successfully initiated and is considered complete. | |
`PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been successfully established. This state is only used for standing orders. | |
`PAYMENT_STATUS_INSUFFICIENT_FUNDS`: The payment has failed due to insufficient funds. | |
`PAYMENT_STATUS_FAILED`: The payment has failed to be initiated. This error is retryable once the root cause is resolved. | |
`PAYMENT_STATUS_BLOCKED`: The payment has been blocked. This is a retryable error. | |
`PAYMENT_STATUS_UNKNOWN`: The payment status is unknown. | |
old_payment_status: | |
type: string | |
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 | |
description: |- | |
The previous status of the payment. | |
`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. | |
`PAYMENT_STATUS_PROCESSING`: The payment is currently being processed. The payment will automatically exit this state when processing is complete. | |
`PAYMENT_STATUS_INITIATED`: The payment has been successfully initiated and is considered complete. | |
`PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been successfully established. This state is only used for standing orders. | |
`PAYMENT_STATUS_INSUFFICIENT_FUNDS`: The payment has failed due to insufficient funds. | |
`PAYMENT_STATUS_FAILED`: The payment has failed to be initiated. This error is retryable once the root cause is resolved. | |
`PAYMENT_STATUS_BLOCKED`: The payment has been blocked. This is a retryable error. | |
`PAYMENT_STATUS_UNKNOWN`: The payment status is unknown. | |
original_reference: | |
type: string | |
description: The original value of the reference when creating the payment. | |
nullable: true | |
adjusted_reference: | |
type: string | |
description: The value of the reference sent to the bank after adjustment to pass bank validation rules. | |
nullable: true | |
original_start_date: | |
format: date | |
type: string | |
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`. | |
nullable: true | |
adjusted_start_date: | |
format: date | |
type: string | |
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`. | |
nullable: true | |
timestamp: | |
type: string | |
format: date-time | |
description: The timestamp of the update, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `"2017-09-14T14:42:19.350Z"` | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- webhook_type | |
- webhook_code | |
- payment_id | |
- new_payment_status | |
- old_payment_status | |
- original_reference | |
- original_start_date | |
- adjusted_start_date | |
- timestamp | |
Holding: | |
title: Holding | |
type: object | |
additionalProperties: true | |
description: A securities holding at an institution. | |
properties: | |
account_id: | |
type: string | |
description: The Plaid `account_id` associated with the holding. | |
security_id: | |
type: string | |
description: The Plaid `security_id` associated with the holding. | |
institution_price: | |
type: number | |
description: The last price given by the institution for this security. | |
institution_price_as_of: | |
type: string | |
format: date | |
description: The date at which `institution_price` was current. | |
nullable: true | |
institution_value: | |
type: number | |
description: The value of the holding, as reported by the institution. | |
cost_basis: | |
type: number | |
description: The cost basis of the holding. | |
nullable: true | |
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. | |
type: number | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`. | |
nullable: true | |
unofficial_currency_code: | |
type: string | |
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. | |
See 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 | |
required: | |
- account_id | |
- security_id | |
- institution_price | |
- institution_price_as_of | |
- institution_value | |
- cost_basis | |
- quantity | |
- iso_currency_code | |
- unofficial_currency_code | |
Security: | |
title: Security | |
type: object | |
additionalProperties: true | |
description: Contains details about a security | |
properties: | |
security_id: | |
type: string | |
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. | |
isin: | |
type: string | |
nullable: true | |
description: 12-character ISIN, a globally unique securities identifier. | |
cusip: | |
nullable: true | |
type: string | |
description: 9-character CUSIP, an identifier assigned to North American securities. | |
sedol: | |
nullable: true | |
type: string | |
description: 7-character SEDOL, an identifier assigned to securities in the UK. | |
institution_security_id: | |
nullable: true | |
type: string | |
description: An identifier given to the security by the institution | |
institution_id: | |
nullable: true | |
type: string | |
description: If `institution_security_id` is present, this field indicates the Plaid `institution_id` of the institution to whom the identifier belongs. | |
proxy_security_id: | |
nullable: true | |
type: string | |
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. | |
name: | |
nullable: true | |
type: string | |
description: A descriptive name for the security, suitable for display. | |
ticker_symbol: | |
type: string | |
nullable: true | |
description: The security’s trading symbol for publicly traded securities, and otherwise a short identifier if available. | |
is_cash_equivalent: | |
nullable: true | |
type: boolean | |
description: Indicates that a security is a highly liquid asset and can be treated like cash. | |
type: | |
nullable: true | |
type: string | |
description: |- | |
The security type of the holding. Valid security types are: | |
`cash`: Cash, currency, and money market funds | |
`derivative`: Options, warrants, and other derivative instruments | |
`equity`: Domestic and foreign equities | |
`etf`: Multi-asset exchange-traded investment funds | |
`fixed income`: Bonds and certificates of deposit (CDs) | |
`loan`: Loans and loan receivables. | |
`mutual fund`: Open- and closed-end vehicles pooling funds of multiple investors. | |
`other`: Unknown or other investment types | |
close_price: | |
type: number | |
nullable: true | |
description: Price of the security at the close of the previous trading session. `null` for non-public securities. If the security is a foreign currency or a cryptocurrency this field will be updated daily and will be priced in USD. | |
close_price_as_of: | |
type: string | |
nullable: true | |
format: date | |
description: Date for which `close_price` is accurate. Always `null` if `close_price` is `null`. | |
iso_currency_code: | |
type: string | |
nullable: true | |
description: The ISO-4217 currency code of the price given. Always `null` if `unofficial_currency_code` is non-`null`. | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
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 | |
InvestmentTransaction: | |
title: InvestmentTransaction | |
type: object | |
additionalProperties: true | |
description: A transaction within an investment account. | |
properties: | |
investment_transaction_id: | |
type: string | |
description: The ID of the Investment transaction, unique across all Plaid transactions. Like all Plaid identifiers, the `investment_transaction_id` is case sensitive. | |
cancel_transaction_id: | |
type: string | |
deprecated: true | |
description: A legacy field formerly used internally by Plaid to identify certain canceled transactions. | |
nullable: true | |
account_id: | |
type: string | |
description: The `account_id` of the account against which this transaction posted. | |
security_id: | |
type: string | |
description: The `security_id` to which this transaction is related. | |
nullable: true | |
date: | |
type: string | |
format: date | |
description: The [ISO 8601](https://wikipedia.org/wiki/ISO_8601) posting date for the transaction. | |
name: | |
type: string | |
description: The institution’s description of the transaction. | |
quantity: | |
type: number | |
description: The number of units of the security involved in this transaction. | |
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. | |
type: number | |
price: | |
description: The price of the security at which this transaction occurred. | |
type: number | |
fees: | |
type: number | |
description: The combined value of all fees applied to this transaction | |
nullable: true | |
type: | |
type: string | |
enum: | |
- buy | |
- sell | |
- cancel | |
- cash | |
- fee | |
- transfer | |
description: |- | |
Value is one of the following: | |
`buy`: Buying an investment | |
`sell`: Selling an investment | |
`cancel`: A cancellation of a pending transaction | |
`cash`: Activity that modifies a cash position | |
`fee`: A fee on the account | |
`transfer`: Activity which modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer | |
For descriptions of possible transaction types and subtypes, see the [Investment transaction types schema](https://plaid.com/docs/api/accounts/#investment-transaction-types-schema). | |
subtype: | |
type: string | |
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 | |
- 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 | |
- sell | |
- sell short | |
- short-term capital gain | |
- short-term capital gain reinvestment | |
- spin off | |
- split | |
- stock distribution | |
- tax | |
- tax withheld | |
- transfer | |
- transfer fee | |
- trust fee | |
- unqualified gain | |
- withdrawal | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the transaction. Always `null` if `unofficial_currency_code` is non-`null`. | |
nullable: true | |
unofficial_currency_code: | |
type: string | |
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. | |
See 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 | |
required: | |
- investment_transaction_id | |
- account_id | |
- security_id | |
- date | |
- name | |
- quantity | |
- amount | |
- price | |
- fees | |
- type | |
- subtype | |
- iso_currency_code | |
- unofficial_currency_code | |
StandaloneInvestmentTransactionType: | |
title: StandaloneInvestmentTransactionType | |
type: object | |
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" | |
sell: | |
$ref: "#/components/schemas/StandaloneInvestmentTransactionSellType" | |
cancel: | |
type: string | |
description: A cancellation of a pending transaction | |
cash: | |
$ref: "#/components/schemas/StandaloneInvestmentTransactionCashType" | |
fee: | |
$ref: "#/components/schemas/StandaloneInvestmentTransactionFeeType" | |
transfer: | |
$ref: "#/components/schemas/StandaloneInvestmentTransactionTransferType" | |
required: | |
- buy | |
- sell | |
- cancel | |
- cash | |
- fee | |
- transfer | |
StandaloneInvestmentTransactionBuyType: | |
title: BuyType | |
description: Buying an investment | |
type: string | |
properties: | |
assignment: | |
type: string | |
description: Assignment of short option holding | |
contribution: | |
type: string | |
description: Inflow of assets into a tax-advantaged account | |
buy: | |
type: string | |
description: Purchase to open or increase a position | |
buy to cover: | |
type: string | |
description: Purchase to close a short position | |
dividend reinvestment: | |
type: string | |
description: Purchase using proceeds from a cash dividend | |
interest reinvestment: | |
type: string | |
description: Purchase using proceeds from a cash interest payment | |
long-term capital gain reinvestment: | |
type: string | |
description: Purchase using long-term capital gain cash proceeds | |
short-term capital gain reinvestment: | |
type: string | |
description: Purchase using short-term capital gain cash proceeds | |
StandaloneInvestmentTransactionCashType: | |
title: CashType | |
description: Activity that modifies a cash position | |
type: string | |
properties: | |
account fee: | |
type: string | |
description: Fees paid for account maintenance | |
contribution: | |
type: string | |
description: Inflow of assets into a tax-advantaged account | |
deposit: | |
type: string | |
description: Inflow of cash into an account | |
dividend: | |
type: string | |
description: Inflow of cash from a dividend | |
stock distribution: | |
type: string | |
description: Inflow of stock from a distribution | |
interest: | |
type: string | |
description: Inflow of cash from interest | |
legal fee: | |
type: string | |
description: Fees paid for legal charges or services | |
long-term capital gain: | |
type: string | |
description: Long-term capital gain received as cash | |
management fee: | |
type: string | |
description: Fees paid for investment management of a mutual fund or other pooled investment vehicle | |
margin expense: | |
type: string | |
description: Fees paid for maintaining margin debt | |
non-qualified dividend: | |
type: string | |
description: Inflow of cash from a non-qualified dividend | |
non-resident tax: | |
type: string | |
description: Taxes paid on behalf of the investor for non-residency in investment jurisdiction | |
pending credit: | |
type: string | |
description: Pending inflow of cash | |
pending debit: | |
type: string | |
description: Pending outflow of cash | |
qualified dividend: | |
type: string | |
description: Inflow of cash from a qualified dividend | |
short-term capital gain: | |
type: string | |
description: Short-term capital gain received as cash | |
tax: | |
type: string | |
description: Taxes paid on behalf of the investor | |
tax withheld: | |
type: string | |
description: Taxes withheld on behalf of the customer | |
transfer fee: | |
type: string | |
description: Fees incurred for transfer of a holding or account | |
trust fee: | |
type: string | |
description: Fees related to adminstration of a trust account | |
unqualified gain: | |
type: string | |
description: Unqualified capital gain received as cash | |
withdrawal: | |
type: string | |
description: Outflow of cash from an account | |
StandaloneInvestmentTransactionFeeType: | |
title: FeeType | |
description: Fees on the account, e.g. commission, bookkeeping, options-related. | |
type: string | |
properties: | |
account fee: | |
type: string | |
description: Fees paid for account maintenance | |
adjustment: | |
type: string | |
description: Increase or decrease in quantity of item | |
dividend: | |
type: string | |
description: Inflow of cash from a dividend | |
interest: | |
type: string | |
description: Inflow of cash from interest | |
interest receivable: | |
type: string | |
description: Inflow of cash from interest receivable | |
long-term capital gain: | |
type: string | |
description: Long-term capital gain received as cash | |
legal fee: | |
type: string | |
description: Fees paid for legal charges or services | |
management fee: | |
type: string | |
description: Fees paid for investment management of a mutual fund or other pooled investment vehicle | |
margin expense: | |
type: string | |
description: Fees paid for maintaining margin debt | |
non-qualified dividend: | |
type: string | |
description: Inflow of cash from a non-qualified dividend | |
non-resident tax: | |
type: string | |
description: Taxes paid on behalf of the investor for non-residency in investment jurisdiction | |
qualified dividend: | |
type: string | |
description: Inflow of cash from a qualified dividend | |
return of principal: | |
type: string | |
description: Repayment of loan principal | |
short-term capital gain: | |
type: string | |
description: Short-term capital gain received as cash | |
stock distribution: | |
type: string | |
description: Inflow of stock from a distribution | |
tax: | |
type: string | |
description: Taxes paid on behalf of the investor | |
tax withheld: | |
type: string | |
description: Taxes withheld on behalf of the customer | |
transfer fee: | |
type: string | |
description: Fees incurred for transfer of a holding or account | |
trust fee: | |
type: string | |
description: Fees related to adminstration of a trust account | |
unqualified gain: | |
type: string | |
description: Unqualified capital gain received as cash | |
StandaloneInvestmentTransactionSellType: | |
title: SellType | |
description: Selling an investment | |
type: string | |
properties: | |
distribution: | |
type: string | |
description: Outflow of assets from a tax-advantaged account | |
exercise: | |
type: string | |
description: Exercise of an option or warrant contract | |
sell: | |
type: string | |
description: Sell to close or decrease an existing holding | |
sell short: | |
type: string | |
description: Sell to open a short position | |
StandaloneInvestmentTransactionTransferType: | |
title: TransferType | |
description: Activity that modifies a position, but not through buy/sell activity e.g. options exercise, portfolio transfer | |
type: string | |
properties: | |
assignment: | |
type: string | |
description: Assignment of short option holding | |
adjustment: | |
type: string | |
description: Increase or decrease in quantity of item | |
exercise: | |
type: string | |
description: Exercise of an option or warrant contract | |
expire: | |
type: string | |
description: Expiration of an option or warrant contract | |
merger: | |
type: string | |
description: Stock exchanged at a pre-defined ratio as part of a merger between companies | |
spin off: | |
type: string | |
description: Inflow of stock from spin-off transaction of an existing holding | |
split: | |
type: string | |
description: Inflow of stock from a forward split of an existing holding | |
transfer: | |
type: string | |
description: Movement of assets into or out of an account | |
AccountSubtypes: | |
title: AccountSubtypes | |
type: array | |
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#accounts-schema). " | |
items: | |
$ref: "#/components/schemas/AccountSubtype" | |
UserPermissionRevokedWebhook: | |
title: UserPermissionRevokedWebhook | |
type: object | |
additionalProperties: true | |
description: The `USER_PERMISSION_REVOKED` webhook is fired to when an end user has used the [my.plaid.com portal](https://my.plaid.com) 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. | |
x-examples: | |
example-1: | |
webhook_type: ITEM | |
webhook_code: USER_PERMISSION_REVOKED | |
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 | |
properties: | |
webhook_type: | |
type: string | |
description: "`ITEM`" | |
webhook_code: | |
type: string | |
description: "`USER_PERMISSION_REVOKED`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- webhook_type | |
- webhook_code | |
- item_id | |
DepositSwitchGetRequest: | |
title: DepositSwitchGetRequest | |
description: DepositSwitchGetRequest defines the request schema for `/deposit_switch/get` | |
type: object | |
x-examples: {} | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
deposit_switch_id: | |
type: string | |
description: The ID of the deposit switch | |
required: | |
- deposit_switch_id | |
DepositSwitchGetResponse: | |
title: DepositSwitchGetResponse | |
type: object | |
additionalProperties: true | |
description: DepositSwitchGetResponse defines the response schema for `/deposit_switch/get` | |
properties: | |
deposit_switch_id: | |
type: string | |
description: The ID of the deposit switch. | |
target_account_id: | |
type: string | |
nullable: true | |
description: The ID of the bank account the direct deposit was switched to. | |
target_item_id: | |
type: string | |
nullable: true | |
description: The ID of the Item the direct deposit was switched to. | |
state: | |
type: string | |
enum: | |
- initialized | |
- processing | |
- completed | |
- error | |
description: |2- | |
The state, or status, of the deposit switch. | |
- `initialized` – The deposit switch has been initialized with the user entering the information required to submit the deposit switch request. | |
- `processing` – The deposit switch request has been submitted and is being processed. | |
- `completed` – The user's employer has fulfilled the deposit switch request. | |
- `error` – There was an error processing the deposit switch request. | |
switch_method: | |
nullable: true | |
type: string | |
enum: | |
- instant | |
- null | |
description: |- | |
The method used to make the deposit switch. | |
- `instant` – User instantly switched their direct deposit to a new or existing bank account by connecting their payroll or employer account. | |
- `mail` – User requested that Plaid contact their employer by mail to make the direct deposit switch. | |
- `pdf` – User generated a PDF or email to be sent to their employer with the information necessary to make the deposit switch.' | |
account_has_multiple_allocations: | |
nullable: true | |
type: boolean | |
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. | |
is_allocated_remainder: | |
nullable: true | |
type: boolean | |
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. | |
percent_allocated: | |
type: number | |
nullable: true | |
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. | |
amount_allocated: | |
type: number | |
nullable: true | |
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. | |
employer_name: | |
type: string | |
nullable: true | |
description: The name of the employer selected by the user. If the user did not select an employer, the value returned is `null`. | |
employer_id: | |
type: string | |
nullable: true | |
description: The ID of the employer selected by the user. If the user did not select an employer, the value returned is `null`. | |
institution_name: | |
type: string | |
nullable: true | |
description: The name of the institution selected by the user. If the user did not select an institution, the value returned is `null`. | |
institution_id: | |
type: string | |
nullable: true | |
description: The ID of the institution selected by the user. If the user did not select an institution, the value returned is `null`. | |
date_created: | |
description: | | |
[ISO 8601](https://wikipedia.org/wiki/ISO_8601) date the deposit switch was created. | |
type: string | |
format: date | |
date_completed: | |
type: string | |
format: date | |
nullable: true | |
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. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
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 | |
DepositSwitchStateUpdateWebhook: | |
title: DepositSwitchStateUpdateWebhook | |
type: object | |
description: Fired when the status of a deposit switch request has changed. | |
x-examples: | |
example-1: | |
webhook_type: DEPOSIT_SWITCH | |
webhook_code: SWITCH_STATE_UPDATE | |
state: completed | |
deposit_switch_id: f6f5132f-853b-421c-8c41-d24f93ebc39f | |
properties: | |
webhook_type: | |
type: string | |
description: '`"DEPOSIT_SWITCH"`' | |
webhook_code: | |
type: string | |
description: '`"SWITCH_STATE_UPDATE"`' | |
state: | |
type: string | |
description: |2- | |
The state, or status, of the deposit switch. | |
`initialized`: The deposit switch has been initialized with the user entering the information required to submit the deposit switch request. | |
`processing`: The deposit switch request has been submitted and is being processed. | |
`completed`: The user's employer has fulfilled and completed the deposit switch request. | |
`error`: There was an error processing the deposit switch request. | |
For more information, see the [Deposit Switch API reference](/docs/api/products#deposit_switchget). | |
deposit_switch_id: | |
type: string | |
description: The ID of the deposit switch. | |
AssetReportAuditCopyGetRequest: | |
title: AssetReportAuditCopyGetRequest | |
type: object | |
description: AssetReportAuditCopyGetRequest defines the request schema for `/asset_report/audit_copy/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
audit_copy_token: | |
type: string | |
description: The `audit_copy_token` granting access to the Audit Copy you would like to get. | |
required: | |
- audit_copy_token | |
TransferGetRequest: | |
title: TransferGetRequest | |
type: object | |
description: Defines the request schema for `/transfer/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
transfer_id: | |
$ref: "#/components/schemas/TransferID" | |
required: | |
- transfer_id | |
BankTransferGetRequest: | |
title: BankTransferGetRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
bank_transfer_id: | |
$ref: "#/components/schemas/BankTransferID" | |
required: | |
- bank_transfer_id | |
TransferGetResponse: | |
title: TransferGetResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/get` | |
properties: | |
transfer: | |
$ref: "#/components/schemas/Transfer" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfer | |
- request_id | |
BankTransferGetResponse: | |
title: BankTransferGetResponse | |
type: object | |
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 | |
TransferID: | |
type: string | |
title: TransferID | |
description: Plaid’s unique identifier for a transfer. | |
TransferSweepID: | |
type: string | |
title: TransferSweepID | |
description: Plaid’s unique identifier for a sweep. | |
TransferAuthorizationID: | |
type: string | |
title: TransferAuthorizationID | |
description: Plaid’s unique identifier for a transfer authorization. | |
BankTransferID: | |
type: string | |
title: BankTransferID | |
description: Plaid’s unique identifier for a bank transfer. | |
Transfer: | |
title: Transfer | |
type: object | |
additionalProperties: true | |
description: Represents a transfer within the Transfers API. | |
properties: | |
id: | |
$ref: "#/components/schemas/TransferID" | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
account_id: | |
type: string | |
description: The account ID that should be credited/debited for this transfer. | |
type: | |
$ref: "#/components/schemas/TransferType" | |
user: | |
$ref: "#/components/schemas/TransferUserInResponse" | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
description: | |
type: string | |
description: The description of the transfer. | |
created: | |
type: string | |
format: date-time | |
description: The datetime when this transfer was created. This will be of the form `2006-01-02T15:04:05Z` | |
status: | |
$ref: "#/components/schemas/TransferStatus" | |
sweep_status: | |
$ref: "#/components/schemas/TransferSweepStatus" | |
network: | |
$ref: "#/components/schemas/TransferNetwork" | |
cancellable: | |
type: boolean | |
description: When `true`, you can still cancel this transfer. | |
failure_reason: | |
$ref: "#/components/schemas/TransferFailure" | |
metadata: | |
$ref: "#/components/schemas/TransferMetadata" | |
origination_account_id: | |
type: string | |
description: Plaid’s unique identifier for the origination account that was used for this transfer. | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount, e.g. "USD" | |
required: | |
- id | |
- ach_class | |
- account_id | |
- type | |
- user | |
- amount | |
- description | |
- created | |
- status | |
- network | |
- cancellable | |
- failure_reason | |
- metadata | |
- origination_account_id | |
- iso_currency_code | |
BankTransfer: | |
title: BankTransfer | |
type: object | |
additionalProperties: true | |
description: Represents a bank transfer within the Bank Transfers API. | |
properties: | |
id: | |
$ref: "#/components/schemas/BankTransferID" | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
account_id: | |
type: string | |
description: The account ID that should be credited/debited for this bank transfer. | |
type: | |
$ref: "#/components/schemas/BankTransferType" | |
user: | |
$ref: "#/components/schemas/BankTransferUser" | |
amount: | |
$ref: "#/components/schemas/BankTransferAmount" | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount, e.g. "USD" | |
description: | |
type: string | |
description: The description of the transfer. | |
created: | |
type: string | |
format: date-time | |
description: The datetime when this bank transfer was created. This will be of the form `2006-01-02T15:04:05Z` | |
status: | |
$ref: "#/components/schemas/BankTransferStatus" | |
network: | |
$ref: "#/components/schemas/BankTransferNetwork" | |
cancellable: | |
type: boolean | |
description: When `true`, you can still cancel this bank transfer. | |
failure_reason: | |
$ref: "#/components/schemas/BankTransferFailure" | |
custom_tag: | |
type: string | |
description: A string containing the custom tag provided by the client in the create request. Will be null if not provided. | |
nullable: true | |
metadata: | |
$ref: "#/components/schemas/BankTransferMetadata" | |
origination_account_id: | |
type: string | |
description: Plaid’s unique identifier for the origination account that was used for this transfer. | |
direction: | |
$ref: "#/components/schemas/BankTransferDirection" | |
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 | |
ACHClass: | |
type: string | |
title: ACHClass | |
enum: | |
- arc | |
- cbr | |
- ccd | |
- cie | |
- cor | |
- ctx | |
- iat | |
- mte | |
- pbr | |
- pop | |
- pos | |
- ppd | |
- rck | |
- tel | |
- web | |
description: |- | |
Specifies the use case of the transfer. Required for transfers on an ACH network. | |
`"arc"` - Accounts Receivable Entry | |
`"cbr`" - Cross Border Entry | |
`"ccd"` - Corporate Credit or Debit - fund transfer between two corporate bank accounts | |
`"cie"` - Customer Initiated Entry | |
`"cor"` - Automated Notification of Change | |
`"ctx"` - Corporate Trade Exchange | |
`"iat"` - International | |
`"mte"` - Machine Transfer Entry | |
`"pbr"` - Cross Border Entry | |
`"pop"` - Point-of-Purchase Entry | |
`"pos"` - Point-of-Sale Entry | |
`"ppd"` - Prearranged Payment or Deposit - the transfer is part of a pre-existing relationship with a consumer, eg. bill payment | |
`"rck"` - Re-presented Check Entry | |
`"tel"` - Telephone-Initiated Entry | |
`"web"` - Internet-Initiated Entry - debits from a consumer’s account where their authorization is obtained over the Internet | |
TransferAmount: | |
title: TransferAmount | |
type: string | |
description: The amount of the transfer (decimal string with two digits of precision e.g. “10.00”). | |
TransferSweepAmount: | |
title: TransferSweepAmount | |
type: string | |
description: A signed amount of how much was `swept` or `reverse_swept` (decimal string with two digits of precision e.g. “-5.50”). | |
TransferIntentGetFailureReason: | |
title: TransferIntentGetFailureReason | |
type: object | |
nullable: true | |
additionalProperties: true | |
description: The reason for a failed transfer intent. Returned only if the transfer intent status is `failed`. Null otherwise. | |
properties: | |
error_type: | |
type: string | |
description: A broad categorization of the error. | |
error_code: | |
type: string | |
description: |- | |
A code representing the reason for a failed transfer intent (i.e., an API error or the authorization being declined). | |
For a full listing of bank transfer errors, see [Bank Transfers errors](https://plaid.com/docs/errors/bank-transfers/). | |
error_message: | |
type: string | |
description: A human-readable description of the code associated with a failed transfer intent. | |
TransferIntentCreateMode: | |
title: TransferIntentCreateMode | |
type: string | |
enum: | |
- PAYMENT | |
- DISBURSEMENT | |
description: |- | |
The direction of the flow of transfer funds. | |
- `PAYMENT` – Transfers funds from an end user's account to your business account. | |
- `DISBURSEMENT` – Transfers funds from your business account to an end user's account. | |
BankTransferAmount: | |
title: BankTransferAmount | |
type: string | |
description: The amount of the bank transfer (decimal string with two digits of precision e.g. “10.00”). | |
TransferCreateIdempotencyKey: | |
title: TransferCreateIdempotencyKey | |
type: string | |
maxLength: 50 | |
description: |- | |
A random key provided by the client, per unique transfer. Maximum of 50 characters. | |
The 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. | |
BankTransferIdempotencyKey: | |
title: BankTransferIdempotencyKey | |
type: string | |
maxLength: 50 | |
description: |- | |
A random key provided by the client, per unique bank transfer. Maximum of 50 characters. | |
The 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. | |
TransferUserInRequest: | |
title: TransferUserInRequest | |
type: object | |
additionalProperties: true | |
description: The legal name and other information for the account holder. | |
properties: | |
legal_name: | |
type: string | |
description: The user's legal name. | |
phone_number: | |
type: string | |
description: The user's phone number. | |
email_address: | |
type: string | |
description: The user's email address. | |
address: | |
$ref: "#/components/schemas/TransferUserAddressInRequest" | |
required: | |
- legal_name | |
TransferUserInResponse: | |
title: TransferUserInResponse | |
type: object | |
additionalProperties: true | |
description: The legal name and other information for the account holder. | |
properties: | |
legal_name: | |
type: string | |
description: The user's legal name. | |
phone_number: | |
type: string | |
description: The user's phone number. | |
nullable: true | |
email_address: | |
type: string | |
description: The user's email address. | |
nullable: true | |
address: | |
$ref: "#/components/schemas/TransferUserAddressInResponse" | |
required: | |
- legal_name | |
- phone_number | |
- email_address | |
- address | |
TransferUserAddressInRequest: | |
title: TransferUserAddressInRequest | |
type: object | |
additionalProperties: true | |
description: The address associated with the account holder. | |
properties: | |
street: | |
type: string | |
description: The street number and name (i.e., "100 Market St."). | |
city: | |
type: string | |
description: Ex. "San Francisco" | |
region: | |
type: string | |
description: The state or province (e.g., "California"). | |
postal_code: | |
type: string | |
description: The postal code (e.g., "94103"). | |
country: | |
type: string | |
description: A two-letter country code (e.g., "US"). | |
TransferUserAddressInResponse: | |
title: TransferUserAddressInResponse | |
type: object | |
nullable: true | |
additionalProperties: true | |
description: The address associated with the account holder. | |
properties: | |
street: | |
type: string | |
description: The street number and name (i.e., "100 Market St."). | |
nullable: true | |
city: | |
type: string | |
description: Ex. "San Francisco" | |
nullable: true | |
region: | |
type: string | |
description: The state or province (e.g., "California"). | |
nullable: true | |
postal_code: | |
type: string | |
description: The postal code (e.g., "94103"). | |
nullable: true | |
country: | |
type: string | |
description: A two-letter country code (e.g., "US"). | |
nullable: true | |
required: | |
- street | |
- city | |
- region | |
- postal_code | |
- country | |
BankTransferUser: | |
title: BankTransferUser | |
type: object | |
additionalProperties: true | |
description: The legal name and other information for the account holder. | |
properties: | |
legal_name: | |
type: string | |
description: The account holder’s full legal name. If the transfer description is `ccd`, this should be the business name of the account holder. | |
email_address: | |
type: string | |
description: The account holder’s email. | |
nullable: true | |
routing_number: | |
type: string | |
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 | |
required: | |
- legal_name | |
TransferAuthorizationDecisionRationale: | |
title: TransferAuthorizationDecisionRationale | |
type: object | |
nullable: true | |
additionalProperties: true | |
description: The rationale for Plaid's decision regarding a proposed transfer. Will be null for `approved` decisions. | |
properties: | |
code: | |
type: string | |
description: |- | |
A code representing the rationale for permitting or declining the proposed transfer. Possible values are: | |
`NSF` – Transaction likely to result in a return due to insufficient funds. | |
`RISK` - Transaction is high-risk. | |
`MANUALLY_VERIFIED_ITEM` – Item created via same-day micro deposits, limited information available. Plaid can only offer `permitted` as a transaction decision. | |
`LOGIN_REQUIRED` – Unable to collect the account information required for an authorization decision due to Item staleness. Can be rectified using Link update mode. | |
`ERROR` – Unable to collect the account information required for an authorization decision due to an error. | |
enum: | |
- NSF | |
- RISK | |
- MANUALLY_VERIFIED_ITEM | |
- LOGIN_REQUIRED | |
- ERROR | |
description: | |
type: string | |
description: A human-readable description of the code associated with a permitted transfer or transfer decline. | |
required: | |
- code | |
- description | |
TransferAuthorizationProposedTransfer: | |
title: TransferAuthorizationProposedTransfer | |
type: object | |
additionalProperties: true | |
description: Details regarding the proposed transfer. | |
properties: | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
account_id: | |
type: string | |
description: The Plaid `account_id` for the account that will be debited or credited. | |
type: | |
$ref: "#/components/schemas/TransferType" | |
user: | |
$ref: "#/components/schemas/TransferUserInResponse" | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
network: | |
type: string | |
description: The network or rails used for the transfer. | |
origination_account_id: | |
type: string | |
description: Plaid's unique identifier for the origination account that was used for this transfer. | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount. The default value is "USD". | |
required: | |
- ach_class | |
- account_id | |
- type | |
- user | |
- amount | |
- network | |
- origination_account_id | |
- iso_currency_code | |
TransferAuthorizationDevice: | |
title: TransferAuthorizationDevice | |
type: object | |
additionalProperties: true | |
description: Information about the device being used to initiate the authorization. | |
properties: | |
ip_address: | |
type: string | |
description: The IP address of the device being used to initiate the authorization. | |
user_agent: | |
type: string | |
description: The user agent of the device being used to initiate the authorization. | |
TransferMetadata: | |
type: object | |
additionalProperties: | |
type: string | |
title: TransferMetadata | |
nullable: true | |
maxProperties: 50 | |
description: | | |
The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: | |
- The JSON values must be Strings (no nested JSON objects allowed) | |
- Only ASCII characters may be used | |
- Maximum of 50 key/value pairs | |
- Maximum key length of 40 characters | |
- Maximum value length of 500 characters | |
BankTransferMetadata: | |
type: object | |
additionalProperties: | |
type: string | |
title: BankTransferMetadata | |
nullable: true | |
maxProperties: 50 | |
description: | | |
The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: | |
- The JSON values must be Strings (no nested JSON objects allowed) | |
- Only ASCII characters may be used | |
- Maximum of 50 key/value pairs | |
- Maximum key length of 40 characters | |
- Maximum value length of 500 characters | |
TransferType: | |
type: string | |
title: 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 | |
BankTransferType: | |
type: string | |
title: 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 | |
TransferStatus: | |
type: string | |
title: TransferStatus | |
description: The status of the transfer. | |
enum: | |
- pending | |
- posted | |
- cancelled | |
- failed | |
- reversed | |
TransferSweepStatus: | |
type: string | |
nullable: true | |
title: TransferSweepStatus | |
description: |- | |
The status of the sweep for the transfer. | |
`unswept`: The transfer hasn't been swept yet. | |
`swept`: The transfer was swept to the sweep account. | |
`reverse_swept`: The transfer was reversed, funds were pulled back or pushed back to the sweep account. | |
`null`: The transfer will never be swept (e.g. if the transfer is cancelled or reversed before being swept) | |
enum: | |
- null | |
- unswept | |
- swept | |
- reverse_swept | |
BankTransferStatus: | |
type: string | |
title: BankTransferStatus | |
description: The status of the transfer. | |
enum: | |
- pending | |
- posted | |
- cancelled | |
- failed | |
- reversed | |
TransferNetwork: | |
type: string | |
title: TransferNetwork | |
description: The network or rails used for the transfer. Valid options are `ach` or `same-day-ach`. | |
enum: | |
- ach | |
- same-day-ach | |
BankTransferNetwork: | |
type: string | |
title: 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 | |
TransferFailure: | |
title: TransferFailure | |
type: object | |
additionalProperties: true | |
nullable: true | |
description: The failure reason if the type of this transfer is `"failed"` or `"reversed"`. Null value otherwise. | |
properties: | |
ach_return_code: | |
type: string | |
nullable: true | |
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). | |
description: | |
type: string | |
description: A human-readable description of the reason for the failure or reversal. | |
BankTransferFailure: | |
title: BankTransferFailure | |
type: object | |
additionalProperties: true | |
nullable: true | |
description: The failure reason if the type of this transfer is `"failed"` or `"reversed"`. Null value otherwise. | |
properties: | |
ach_return_code: | |
type: string | |
nullable: true | |
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). | |
description: | |
type: string | |
description: A human-readable description of the reason for the failure or reversal. | |
TransferAuthorizationCreateRequest: | |
title: TransferAuthorizationCreateRequest | |
type: object | |
description: Defines the request schema for `/transfer/authorization/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/TransferAccessToken" | |
account_id: | |
type: string | |
description: The Plaid `account_id` for the account that will be debited or credited. | |
type: | |
$ref: "#/components/schemas/TransferType" | |
network: | |
$ref: "#/components/schemas/TransferNetwork" | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
user: | |
$ref: "#/components/schemas/TransferUserInRequest" | |
device: | |
$ref: "#/components/schemas/TransferAuthorizationDevice" | |
origination_account_id: | |
type: string | |
description: Plaid's unique identifier for the origination account for this authorization. If not specified, the default account will be used. | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount. The default value is "USD". | |
required: | |
- access_token | |
- account_id | |
- type | |
- network | |
- amount | |
- ach_class | |
- user | |
TransferCreateRequest: | |
title: TransferCreateRequest | |
type: object | |
description: Defines the request schema for `/transfer/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
idempotency_key: | |
$ref: "#/components/schemas/TransferCreateIdempotencyKey" | |
access_token: | |
$ref: "#/components/schemas/TransferAccessToken" | |
account_id: | |
type: string | |
description: The Plaid `account_id` for the account that will be debited or credited. | |
authorization_id: | |
$ref: "#/components/schemas/TransferAuthorizationID" | |
type: | |
$ref: "#/components/schemas/TransferType" | |
network: | |
$ref: "#/components/schemas/TransferNetwork" | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
description: | |
type: string | |
description: The transfer description. Maximum of 10 characters. | |
maxLength: 10 | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
user: | |
$ref: "#/components/schemas/TransferUserInRequest" | |
metadata: | |
$ref: "#/components/schemas/TransferMetadata" | |
origination_account_id: | |
type: string | |
nullable: 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. | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount. The default value is "USD". | |
required: | |
- idempotency_key | |
- access_token | |
- account_id | |
- authorization_id | |
- type | |
- network | |
- amount | |
- description | |
- ach_class | |
- user | |
BankTransferCreateRequest: | |
title: BankTransferCreateRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
idempotency_key: | |
$ref: "#/components/schemas/BankTransferIdempotencyKey" | |
access_token: | |
$ref: "#/components/schemas/BankTransferAccessToken" | |
account_id: | |
type: string | |
description: The Plaid `account_id` for the account that will be debited or credited. | |
type: | |
$ref: "#/components/schemas/BankTransferType" | |
network: | |
$ref: "#/components/schemas/BankTransferNetwork" | |
amount: | |
$ref: "#/components/schemas/BankTransferAmount" | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount – should be set to "USD". | |
description: | |
type: string | |
description: The transfer description. Maximum of 10 characters. | |
maxLength: 10 | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
user: | |
$ref: "#/components/schemas/BankTransferUser" | |
custom_tag: | |
type: string | |
maxLength: 100 | |
nullable: true | |
description: An arbitrary string provided by the client for storage with the bank transfer. May be up to 100 characters. | |
metadata: | |
$ref: "#/components/schemas/BankTransferMetadata" | |
origination_account_id: | |
type: string | |
nullable: 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. | |
required: | |
- idempotency_key | |
- access_token | |
- account_id | |
- type | |
- network | |
- amount | |
- iso_currency_code | |
- description | |
- user | |
TransferAuthorizationCreateResponse: | |
title: TransferAuthorizationCreateResponse | |
type: object | |
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 | |
TransferAuthorization: | |
title: TransferAuthorization | |
type: object | |
additionalProperties: true | |
description: TransferAuthorization contains the authorization decision for a proposed transfer | |
properties: | |
id: | |
$ref: "#/components/schemas/TransferAuthorizationID" | |
created: | |
type: string | |
format: date-time | |
description: The datetime representing when the authorization was created, in the format `2006-01-02T15:04:05Z`. | |
decision: | |
type: string | |
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. Plaid has also reviewed the proposed transfer and has approved it for processing. \n\n`permitted` – Plaid was unable to fetch the information required to approve or decline the proposed transfer. You may proceed with the transfer, but further review is recommended. Plaid is awaiting further instructions from the client.\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 | |
- permitted | |
- declined | |
decision_rationale: | |
$ref: "#/components/schemas/TransferAuthorizationDecisionRationale" | |
proposed_transfer: | |
$ref: "#/components/schemas/TransferAuthorizationProposedTransfer" | |
required: | |
- id | |
- created | |
- decision | |
- decision_rationale | |
- proposed_transfer | |
TransferCreateResponse: | |
title: TransferCreateResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/create` | |
properties: | |
transfer: | |
$ref: "#/components/schemas/Transfer" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfer | |
- request_id | |
BankTransferCreateResponse: | |
title: BankTransferCreateResponse | |
type: object | |
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 | |
TransferListRequest: | |
title: TransferListRequest | |
type: object | |
description: Defines the request schema for `/transfer/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
start_date: | |
type: string | |
format: date-time | |
nullable: true | |
description: The start datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
end_date: | |
type: string | |
format: date-time | |
nullable: true | |
description: The end datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
count: | |
type: integer | |
minimum: 1 | |
maximum: 25 | |
default: 25 | |
description: The maximum number of transfers to return. | |
offset: | |
type: integer | |
default: 0 | |
minimum: 0 | |
description: The number of transfers to skip before returning results. | |
origination_account_id: | |
type: string | |
nullable: true | |
description: Filter transfers to only those originated through the specified origination account. | |
BankTransferListRequest: | |
title: BankTransferListRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
start_date: | |
type: string | |
format: date-time | |
nullable: true | |
description: The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
end_date: | |
type: string | |
format: date-time | |
nullable: true | |
description: The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
count: | |
type: integer | |
minimum: 1 | |
maximum: 25 | |
default: 25 | |
description: The maximum number of bank transfers to return. | |
offset: | |
type: integer | |
default: 0 | |
minimum: 0 | |
description: The number of bank transfers to skip before returning results. | |
origination_account_id: | |
type: string | |
nullable: true | |
description: Filter bank transfers to only those originated through the specified origination account. | |
direction: | |
$ref: "#/components/schemas/BankTransferDirection" | |
TransferListResponse: | |
title: TransferListResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/list` | |
properties: | |
transfers: | |
type: array | |
items: | |
$ref: "#/components/schemas/Transfer" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfers | |
- request_id | |
BankTransferListResponse: | |
title: BankTransferListResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/bank_transfer/list` | |
properties: | |
bank_transfers: | |
type: array | |
items: | |
$ref: "#/components/schemas/BankTransfer" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- bank_transfers | |
- request_id | |
BankTransferDirection: | |
type: string | |
nullable: true | |
title: 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 | |
TransferCancelRequest: | |
title: TransferCancelRequest | |
type: object | |
description: Defines the request schema for `/transfer/cancel` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
transfer_id: | |
$ref: "#/components/schemas/TransferID" | |
required: | |
- transfer_id | |
BankTransferCancelRequest: | |
title: BankTransferCancelRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/cancel` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
bank_transfer_id: | |
$ref: "#/components/schemas/BankTransferID" | |
required: | |
- bank_transfer_id | |
TransferCancelResponse: | |
title: TransferCancelResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/cancel` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
BankTransferCancelResponse: | |
title: BankTransferCancelResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/bank_transfer/cancel` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
TransferEventListRequest: | |
title: TransferEventListRequest | |
type: object | |
description: Defines the request schema for `/transfer/event/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
start_date: | |
type: string | |
format: date-time | |
description: The start datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
nullable: true | |
end_date: | |
type: string | |
format: date-time | |
description: The end datetime of transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
nullable: true | |
transfer_id: | |
type: string | |
title: TransferID | |
description: Plaid’s unique identifier for a transfer. | |
nullable: true | |
account_id: | |
type: string | |
description: The account ID to get events for all transactions to/from an account. | |
nullable: true | |
transfer_type: | |
type: string | |
nullable: true | |
title: TransferType | |
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 | |
event_types: | |
type: array | |
description: Filter events by event type. | |
items: | |
$ref: "#/components/schemas/TransferEventType" | |
sweep_id: | |
$ref: "#/components/schemas/TransferSweepID" | |
count: | |
type: integer | |
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. | |
default: 25 | |
maximum: 25 | |
minimum: 1 | |
nullable: true | |
offset: | |
type: integer | |
default: 0 | |
minimum: 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 bank transfer events will be returned. | |
nullable: true | |
origination_account_id: | |
type: string | |
description: The origination account ID to get events for transfers from a specific origination account. | |
nullable: true | |
BankTransferEventListRequest: | |
title: BankTransferEventListRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/event/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
start_date: | |
type: string | |
format: date-time | |
description: The start datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
nullable: true | |
end_date: | |
type: string | |
format: date-time | |
description: The end datetime of bank transfers to list. This should be in RFC 3339 format (i.e. `2019-12-06T22:35:49Z`) | |
nullable: true | |
bank_transfer_id: | |
type: string | |
title: BankTransferID | |
description: Plaid’s unique identifier for a bank transfer. | |
nullable: true | |
account_id: | |
type: string | |
description: The account ID to get events for all transactions to/from an account. | |
nullable: true | |
bank_transfer_type: | |
type: string | |
nullable: true | |
title: BankTransferType | |
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 | |
event_types: | |
type: array | |
description: Filter events by event type. | |
items: | |
$ref: "#/components/schemas/BankTransferEventType" | |
count: | |
type: integer | |
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. | |
default: 25 | |
maximum: 25 | |
minimum: 1 | |
nullable: true | |
offset: | |
type: integer | |
default: 0 | |
minimum: 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. | |
nullable: true | |
origination_account_id: | |
type: string | |
description: The origination account ID to get events for transfers from a specific origination account. | |
nullable: true | |
direction: | |
type: string | |
title: BankTransferDirection | |
description: |- | |
Indicates the direction of the transfer: `outbound`: for API-initiated transfers | |
`inbound`: for payments received by the FBO account. | |
enum: | |
- inbound | |
- outbound | |
- null | |
nullable: true | |
TransferEventType: | |
type: string | |
title: TransferEventType | |
description: |- | |
The type of event that this transfer represents. | |
`pending`: A new transfer was created; it is in the pending state. | |
`cancelled`: The transfer was cancelled by the client. | |
`failed`: The transfer failed, no funds were moved. | |
`posted`: The transfer has been successfully submitted to the payment network. | |
`reversed`: A posted transfer was reversed. | |
`swept`: The transfer was swept to / from the sweep account. | |
`reverse_swept`: Due to the transfer reversing, funds were pulled from or pushed back to the sweep account. | |
enum: | |
- pending | |
- cancelled | |
- failed | |
- posted | |
- reversed | |
- swept | |
- reverse_swept | |
BankTransferEventType: | |
type: string | |
title: BankTransferEventType | |
description: |- | |
The type of event that this bank transfer represents. | |
`pending`: A new transfer was created; it is in the pending state. | |
`cancelled`: The transfer was cancelled by the client. | |
`failed`: The transfer failed, no funds were moved. | |
`posted`: The transfer has been successfully submitted to the payment network. | |
`reversed`: A posted transfer was reversed. | |
`receiver_pending`: The matching transfer was found as a pending transaction in the receiver's account | |
`receiver_posted`: The matching transfer was found as a posted transaction in the receiver's account | |
enum: | |
- pending | |
- cancelled | |
- failed | |
- posted | |
- reversed | |
- receiver_pending | |
- receiver_posted | |
TransferEvent: | |
title: TransferEvent | |
type: object | |
additionalProperties: true | |
description: Represents an event in the Transfers API. | |
properties: | |
event_id: | |
type: integer | |
description: Plaid’s unique identifier for this event. IDs are sequential unsigned 64-bit integers. | |
minimum: 0 | |
timestamp: | |
type: string | |
format: date-time | |
description: The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`. | |
event_type: | |
$ref: "#/components/schemas/TransferEventType" | |
account_id: | |
type: string | |
description: The account ID associated with the transfer. | |
transfer_id: | |
$ref: "#/components/schemas/TransferID" | |
origination_account_id: | |
type: string | |
description: The ID of the origination account that this balance belongs to. | |
nullable: true | |
transfer_type: | |
$ref: "#/components/schemas/TransferType" | |
transfer_amount: | |
$ref: "#/components/schemas/TransferAmount" | |
failure_reason: | |
$ref: "#/components/schemas/TransferFailure" | |
sweep_id: | |
$ref: "#/components/schemas/TransferSweepID" | |
sweep_amount: | |
$ref: "#/components/schemas/TransferSweepAmount" | |
required: | |
- event_id | |
- timestamp | |
- event_type | |
- account_id | |
- transfer_id | |
- origination_account_id | |
- transfer_type | |
- transfer_amount | |
- failure_reason | |
BankTransferEvent: | |
title: BankTransferEvent | |
type: object | |
additionalProperties: true | |
description: Represents an event in the Bank Transfers API. | |
properties: | |
event_id: | |
type: integer | |
description: Plaid’s unique identifier for this event. IDs are sequential unsigned 64-bit integers. | |
minimum: 0 | |
timestamp: | |
type: string | |
format: date-time | |
description: The datetime when this event occurred. This will be of the form `2006-01-02T15:04:05Z`. | |
event_type: | |
$ref: "#/components/schemas/BankTransferEventType" | |
account_id: | |
type: string | |
description: The account ID associated with the bank transfer. | |
bank_transfer_id: | |
$ref: "#/components/schemas/BankTransferID" | |
origination_account_id: | |
type: string | |
description: The ID of the origination account that this balance belongs to. | |
nullable: true | |
bank_transfer_type: | |
$ref: "#/components/schemas/BankTransferType" | |
bank_transfer_amount: | |
type: string | |
description: The bank transfer amount. | |
bank_transfer_iso_currency_code: | |
type: string | |
description: The currency of the bank transfer amount. | |
failure_reason: | |
$ref: "#/components/schemas/BankTransferFailure" | |
direction: | |
$ref: "#/components/schemas/BankTransferDirection" | |
receiver_details: | |
$ref: "#/components/schemas/BankTransferReceiverDetails" | |
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 | |
- receiver_details | |
TransferEventListResponse: | |
title: TransferEventListResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/event/list` | |
properties: | |
transfer_events: | |
type: array | |
items: | |
$ref: "#/components/schemas/TransferEvent" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfer_events | |
- request_id | |
BankTransferEventListResponse: | |
title: BankTransferEventListResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/bank_transfer/event/list` | |
properties: | |
bank_transfer_events: | |
type: array | |
items: | |
$ref: "#/components/schemas/BankTransferEvent" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- bank_transfer_events | |
- request_id | |
BankTransferEventSyncRequest: | |
title: BankTransferEventSyncRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/event/sync` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
after_id: | |
type: integer | |
description: The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially. | |
minimum: 0 | |
count: | |
type: integer | |
default: 25 | |
minimum: 1 | |
maximum: 25 | |
description: The maximum number of bank transfer events to return. | |
nullable: true | |
required: | |
- after_id | |
TransferEventSyncRequest: | |
title: TransferEventSyncRequest | |
type: object | |
description: Defines the request schema for `/transfer/event/sync` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
after_id: | |
type: integer | |
description: The latest (largest) `event_id` fetched via the sync endpoint, or 0 initially. | |
minimum: 0 | |
count: | |
type: integer | |
default: 25 | |
minimum: 1 | |
maximum: 25 | |
description: The maximum number of transfer events to return. | |
nullable: true | |
required: | |
- after_id | |
BankTransferEventSyncResponse: | |
title: BankTransferEventSyncResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/bank_transfer/event/sync` | |
properties: | |
bank_transfer_events: | |
type: array | |
items: | |
$ref: "#/components/schemas/BankTransferEvent" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- bank_transfer_events | |
- request_id | |
TransferEventSyncResponse: | |
title: TransferEventSyncResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/event/sync` | |
properties: | |
transfer_events: | |
type: array | |
items: | |
$ref: "#/components/schemas/TransferEvent" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfer_events | |
- request_id | |
BankTransferSweepGetRequest: | |
title: BankTransferSweepGetRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/sweep/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
sweep_id: | |
type: string | |
description: Identifier of the sweep. | |
required: | |
- sweep_id | |
TransferSweepGetRequest: | |
title: TransferSweepGetRequest | |
type: object | |
description: Defines the request schema for `/transfer/sweep/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
sweep_id: | |
$ref: "#/components/schemas/TransferSweepID" | |
required: | |
- sweep_id | |
BankTransferSweepGetResponse: | |
title: BankTransferSweepGetResponse | |
type: object | |
additionalProperties: true | |
description: BankTransferSweepGetResponse defines the response schema for `/bank_transfer/sweep/get` | |
properties: | |
sweep: | |
$ref: "#/components/schemas/BankTransferSweep" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- sweep | |
- request_id | |
TransferSweepGetResponse: | |
title: TransferSweepGetResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/sweep/get` | |
properties: | |
sweep: | |
$ref: "#/components/schemas/TransferSweep" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- sweep | |
- request_id | |
BankTransferSweepListRequest: | |
title: BankTransferSweepListRequest | |
type: object | |
description: BankTransferSweepListRequest defines the request schema for `/bank_transfer/sweep/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
origination_account_id: | |
type: string | |
description: If multiple origination accounts are available, `origination_account_id` must be used to specify the account that the sweeps belong to. | |
nullable: true | |
start_time: | |
type: string | |
format: date-time | |
description: The start datetime of sweeps to return (RFC 3339 format). | |
nullable: true | |
end_time: | |
type: string | |
format: date-time | |
description: The end datetime of sweeps to return (RFC 3339 format). | |
nullable: true | |
count: | |
type: integer | |
minimum: 1 | |
maximum: 25 | |
default: 25 | |
description: The maximum number of sweeps to return. | |
nullable: true | |
TransferSweepListRequest: | |
title: TransferSweepListRequest | |
type: object | |
description: Defines the request schema for `/transfer/sweep/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
start_date: | |
type: string | |
format: date-time | |
description: The start datetime of sweeps to return (RFC 3339 format). | |
nullable: true | |
end_date: | |
type: string | |
format: date-time | |
description: The end datetime of sweeps to return (RFC 3339 format). | |
nullable: true | |
count: | |
type: integer | |
minimum: 1 | |
maximum: 25 | |
default: 25 | |
description: The maximum number of sweeps to return. | |
nullable: true | |
offset: | |
type: integer | |
default: 0 | |
minimum: 0 | |
description: The number of sweeps to skip before returning results. | |
TransferSweepListResponse: | |
title: TransferSweepListResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/sweep/list` | |
properties: | |
sweeps: | |
type: array | |
items: | |
$ref: "#/components/schemas/TransferSweep" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- sweeps | |
- request_id | |
BankTransferSweepListResponse: | |
title: BankTransferSweepListResponse | |
type: object | |
additionalProperties: true | |
description: BankTransferSweepListResponse defines the response schema for `/bank_transfer/sweep/list` | |
properties: | |
sweeps: | |
type: array | |
items: | |
$ref: "#/components/schemas/BankTransferSweep" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- sweeps | |
- request_id | |
BankTransferSweep: | |
title: BankTransferSweep | |
type: object | |
additionalProperties: true | |
description: BankTransferSweep describes a sweep transfer. | |
properties: | |
id: | |
type: string | |
description: Identifier of the sweep. | |
created_at: | |
type: string | |
description: The datetime when the sweep occurred, in RFC 3339 format. | |
format: date-time | |
amount: | |
type: string | |
description: The amount of the sweep. | |
iso_currency_code: | |
type: string | |
description: The currency of the sweep, e.g. "USD". | |
required: | |
- id | |
- created_at | |
- amount | |
- iso_currency_code | |
TransferSweep: | |
title: TransferSweep | |
type: object | |
additionalProperties: true | |
description: |- | |
Describes a sweep of funds to / from the sweep account. | |
A sweep is associated with many sweep events (events of type `swept` or `reverse_swept`) which | |
can be retrieved by invoking the `/transfer/event/list` endpoint with the corresponding `sweep_id`. | |
`swept` events occur when the transfer amount is credited or debited from your sweep account, depending | |
on the `type` of the transfer. `reverse_swept` events occur when a transfer is reversed and Plaid undoes the credit or debit. | |
The total sum of the `swept` and `reverse_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: | |
id: | |
type: string | |
description: Identifier of the sweep. | |
created: | |
type: string | |
description: The datetime when the sweep occurred, in RFC 3339 format. | |
format: date-time | |
amount: | |
type: string | |
description: |- | |
Signed decimal amount of the sweep as it appears on your sweep account ledger (e.g. "-10.00") | |
If amount is not present, the sweep was net-settled to zero and outstanding debits and credits between | |
the sweep account and Plaid are balanced. | |
iso_currency_code: | |
type: string | |
description: The currency of the sweep, e.g. "USD". | |
required: | |
- id | |
- created | |
- amount | |
- iso_currency_code | |
SimulatedTransferSweep: | |
title: SimulatedTransferSweep | |
type: object | |
additionalProperties: true | |
description: |- | |
A sweep returned from the `/sandbox/transfer/sweep/simulate` endpoint. | |
Can be null if there are no transfers to include in a sweep. | |
allOf: | |
- $ref: "#/components/schemas/TransferSweep" | |
- type: object | |
nullable: true | |
BankTransferBalanceGetRequest: | |
title: BankTransferBalanceGetRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/balance/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
origination_account_id: | |
type: string | |
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 | |
BankTransferBalanceGetResponse: | |
title: BankTransferBalanceGetResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/bank_transfer/balance/get` | |
properties: | |
balance: | |
$ref: "#/components/schemas/BankTransferBalance" | |
origination_account_id: | |
type: string | |
description: The ID of the origination account that this balance belongs to. | |
nullable: true | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- balance | |
- origination_account_id | |
- request_id | |
BankTransferBalance: | |
title: BankTransferBalance | |
type: object | |
additionalProperties: true | |
properties: | |
available: | |
type: string | |
description: The total available balance - the sum of all successful debit transfer amounts minus all credit transfer amounts. | |
transactable: | |
type: string | |
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. | |
required: | |
- available | |
- transactable | |
BankTransferMigrateAccountRequest: | |
title: BankTransferMigrateAccountRequest | |
type: object | |
description: Defines the request schema for `/bank_transfer/migrate_account` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
account_number: | |
type: string | |
description: The user's account number. | |
routing_number: | |
type: string | |
description: The user's routing number. | |
account_type: | |
type: string | |
description: The type of the bank account (`checking` or `savings`). | |
required: | |
- account_number | |
- routing_number | |
- account_type | |
BankTransferMigrateAccountResponse: | |
title: BankTransferMigrateAccountResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/bank_transfer/migrate_account` | |
properties: | |
access_token: | |
type: string | |
description: The Plaid `access_token` for the newly created Item. | |
account_id: | |
type: string | |
description: The Plaid `account_id` for the newly created Item. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- access_token | |
- account_id | |
- request_id | |
TransferIntentCreateRequest: | |
title: TransferIntentCreateRequest | |
type: object | |
description: Defines the request schema for `/transfer/intent/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
account_id: | |
type: string | |
description: The Plaid `account_id` for the account that will be debited or credited. | |
nullable: true | |
mode: | |
$ref: "#/components/schemas/TransferIntentCreateMode" | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
description: | |
type: string | |
description: A description for the underlying transfer. Maximum of 8 characters. | |
maxLength: 8 | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
origination_account_id: | |
type: string | |
nullable: true | |
description: Plaid’s unique identifier for the origination account for the intent. If not provided, the default account will be used. | |
user: | |
$ref: "#/components/schemas/TransferUserInRequest" | |
metadata: | |
$ref: "#/components/schemas/TransferMetadata" | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount, e.g. "USD" | |
required: | |
- client_id | |
- secret | |
- mode | |
- amount | |
- description | |
- ach_class | |
- user | |
TransferIntentCreate: | |
title: TransferIntentCreate | |
type: object | |
additionalProperties: true | |
description: Represents a transfer intent within Transfer UI. | |
properties: | |
id: | |
type: string | |
description: Plaid's unique identifier for the transfer intent object. | |
created: | |
type: string | |
format: date-time | |
description: The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`. | |
status: | |
type: string | |
enum: | |
- PENDING | |
- SUCCEEDED | |
- FAILED | |
description: |- | |
The status of the transfer intent. | |
- `PENDING` – The transfer intent is pending. | |
- `SUCCEEDED` – The transfer intent was successfully created. | |
- `FAILED` – The transfer intent was unable to be created. | |
account_id: | |
type: string | |
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 | |
origination_account_id: | |
type: string | |
description: Plaid’s unique identifier for the origination account for the intent. If not provided, the default account will be used. | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
mode: | |
$ref: "#/components/schemas/TransferIntentCreateMode" | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
user: | |
$ref: "#/components/schemas/TransferUserInResponse" | |
description: | |
type: string | |
description: A description for the underlying transfer. Maximum of 8 characters. | |
metadata: | |
$ref: "#/components/schemas/TransferMetadata" | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount, e.g. "USD" | |
required: | |
- id | |
- created | |
- status | |
- origination_account_id | |
- amount | |
- mode | |
- ach_class | |
- user | |
- description | |
- iso_currency_code | |
TransferIntentCreateResponse: | |
title: TransferIntentCreateResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/intent/create` | |
properties: | |
transfer_intent: | |
$ref: "#/components/schemas/TransferIntentCreate" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfer_intent | |
- request_id | |
TransferIntentGetRequest: | |
title: TransferIntentGetRequest | |
type: object | |
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: | |
type: string | |
description: Plaid's unique identifier for a transfer intent object. | |
required: | |
- client_id | |
- secret | |
- transfer_intent_id | |
TransferIntentGet: | |
title: TransferIntentGet | |
type: object | |
additionalProperties: true | |
description: Represents a transfer intent within Transfer UI. | |
properties: | |
id: | |
type: string | |
description: Plaid's unique identifier for a transfer intent object. | |
created: | |
type: string | |
format: date-time | |
description: The datetime the transfer was created. This will be of the form `2006-01-02T15:04:05Z`. | |
status: | |
type: string | |
enum: | |
- PENDING | |
- SUCCEEDED | |
- FAILED | |
description: |- | |
The status of the transfer intent. | |
- `PENDING` – The transfer intent is pending. | |
- `SUCCEEDED` – The transfer intent was successfully created. | |
- `FAILED` – The transfer intent was unable to be created. | |
transfer_id: | |
type: string | |
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 | |
failure_reason: | |
$ref: "#/components/schemas/TransferIntentGetFailureReason" | |
authorization_decision: | |
type: string | |
enum: | |
- APPROVED | |
- PERMITTED | |
- DECLINED | |
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. Plaid has also reviewed the proposed transfer and has approved it for processing. \n\n`PERMITTED` – Plaid was unable to fetch the information required to approve or decline the proposed transfer. You may proceed with the transfer, but further review is recommended. Plaid is awaiting further instructions from the client.\n\n`DECLINED` – Plaid reviewed the proposed transfer and declined processing. Refer to the `code` field in the `decision_rationale` object for details. Null value otherwise." | |
nullable: true | |
authorization_decision_rationale: | |
$ref: "#/components/schemas/TransferAuthorizationDecisionRationale" | |
account_id: | |
type: string | |
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 | |
origination_account_id: | |
type: string | |
description: Plaid’s unique identifier for the origination account used for the transfer. | |
amount: | |
$ref: "#/components/schemas/TransferAmount" | |
mode: | |
$ref: "#/components/schemas/TransferIntentCreateMode" | |
ach_class: | |
$ref: "#/components/schemas/ACHClass" | |
user: | |
$ref: "#/components/schemas/TransferUserInResponse" | |
description: | |
type: string | |
description: A description for the underlying transfer. Maximum of 8 characters. | |
metadata: | |
$ref: "#/components/schemas/TransferMetadata" | |
iso_currency_code: | |
type: string | |
description: The currency of the transfer amount, e.g. "USD" | |
required: | |
- id | |
- created | |
- status | |
- transfer_id | |
- failure_reason | |
- authorization_decision | |
- authorization_decision_rationale | |
- origination_account_id | |
- amount | |
- mode | |
- ach_class | |
- user | |
- description | |
- iso_currency_code | |
TransferIntentGetResponse: | |
title: TransferIntentGetResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/transfer/intent/get` | |
properties: | |
transfer_intent: | |
$ref: "#/components/schemas/TransferIntentGet" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transfer_intent | |
- request_id | |
SandboxBankTransferSimulateRequest: | |
title: SandboxBankTransferSimulateRequest | |
type: object | |
description: Defines the request schema for `/sandbox/bank_transfer/simulate` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
bank_transfer_id: | |
$ref: "#/components/schemas/BankTransferID" | |
event_type: | |
type: string | |
description: | | |
The asynchronous event to be simulated. May be: `posted`, `failed`, or `reversed`. | |
An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include: | |
`pending` --> `failed` | |
`pending` --> `posted` | |
`posted` --> `reversed` | |
failure_reason: | |
$ref: "#/components/schemas/BankTransferFailure" | |
required: | |
- bank_transfer_id | |
- event_type | |
SandboxTransferSimulateRequest: | |
title: SandboxTransferSimulateRequest | |
type: object | |
description: Defines the request schema for `/sandbox/transfer/simulate` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
transfer_id: | |
$ref: "#/components/schemas/TransferID" | |
event_type: | |
type: string | |
description: | | |
The asynchronous event to be simulated. May be: `posted`, `failed`, or `reversed`. | |
An error will be returned if the event type is incompatible with the current transfer status. Compatible status --> event type transitions include: | |
`pending` --> `failed` | |
`pending` --> `posted` | |
`posted` --> `reversed` | |
failure_reason: | |
$ref: "#/components/schemas/TransferFailure" | |
required: | |
- transfer_id | |
- event_type | |
SandboxTransferSweepSimulateRequest: | |
title: SandboxTransferSweepSimulateRequest | |
type: object | |
description: Defines the request schema for `/sandbox/transfer/sweep/simulate` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
SandboxBankTransferSimulateResponse: | |
title: SandboxBankTransferSimulateResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/sandbox/bank_transfer/simulate` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
SandboxTransferSimulateResponse: | |
title: SandboxTransferSimulateResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/sandbox/transfer/simulate` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
SandboxTransferSweepSimulateResponse: | |
title: SandboxTransferSweepSimulateResponse | |
type: object | |
additionalProperties: true | |
description: Defines the response schema for `/sandbox/transfer/sweep/simulate` | |
properties: | |
sweep: | |
$ref: "#/components/schemas/SimulatedTransferSweep" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
BankTransferReceiverDetails: | |
title: BankTransferReceiverDetails | |
type: object | |
additionalProperties: true | |
description: The receiver details if the type of this event is `reciever_pending` or `reciever_posted`. Null value otherwise. | |
nullable: true | |
properties: | |
available_balance: | |
type: string | |
description: The sign of the available balance for the receiver bank account associated with the receiver event at the time the matching transaction was found. Can be `positive`, `negative`, or null if the balance was not available at the time. | |
enum: | |
- positive | |
- negative | |
- null | |
nullable: true | |
required: | |
- available_balance | |
AccountFiltersResponse: | |
title: AccountFiltersResponse | |
description: | | |
The `account_filters` specified in the original call to `/link/token/create`. | |
type: object | |
additionalProperties: true | |
properties: | |
depository: | |
$ref: "#/components/schemas/DepositoryFilter" | |
credit: | |
$ref: "#/components/schemas/CreditFilter" | |
loan: | |
$ref: "#/components/schemas/LoanFilter" | |
investment: | |
$ref: "#/components/schemas/InvestmentFilter" | |
InstitutionsSearchAccountFilter: | |
title: InstitutionsSearchAccountFilter | |
type: object | |
additionalProperties: true | |
properties: | |
loan: | |
type: array | |
items: | |
$ref: "#/components/schemas/AccountSubtype" | |
depository: | |
type: array | |
items: | |
$ref: "#/components/schemas/AccountSubtype" | |
credit: | |
type: array | |
items: | |
$ref: "#/components/schemas/AccountSubtype" | |
investment: | |
type: array | |
items: | |
$ref: "#/components/schemas/AccountSubtype" | |
AccountIdentity: | |
title: AccountIdentity | |
allOf: | |
- $ref: "#/components/schemas/AccountBase" | |
- type: object | |
additionalProperties: true | |
properties: | |
owners: | |
type: array | |
description: Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. 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" | |
required: | |
- owners | |
AccountAssets: | |
title: AccountAssets | |
allOf: | |
- $ref: "#/components/schemas/AccountBase" | |
- type: object | |
additionalProperties: true | |
properties: | |
days_available: | |
type: number | |
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. | |
transactions: | |
type: array | |
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" | |
owners: | |
type: array | |
description: Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. 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" | |
historical_balances: | |
type: array | |
description: Calculated data about the historical balances on the account. Only returned by Assets endpoints. | |
items: | |
$ref: "#/components/schemas/HistoricalBalance" | |
required: | |
- days_available | |
- transactions | |
- owners | |
- historical_balances | |
DepositoryFilter: | |
title: DepositoryFilter | |
description: A filter to apply to `depository`-type accounts | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
required: | |
- account_subtypes | |
CreditFilter: | |
title: CreditFilter | |
description: A filter to apply to `credit`-type accounts | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
required: | |
- account_subtypes | |
LoanFilter: | |
title: LoanFilter | |
description: A filter to apply to `loan`-type accounts | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
required: | |
- account_subtypes | |
InvestmentFilter: | |
title: InvestmentFilter | |
description: A filter to apply to `investment`-type accounts (or `brokerage`-type acconunts for API versions 2018-05-22 and earlier). | |
type: object | |
additionalProperties: true | |
properties: | |
account_subtypes: | |
$ref: "#/components/schemas/AccountSubtypes" | |
required: | |
- account_subtypes | |
EmployersSearchRequest: | |
title: EmployersSearchRequest | |
type: object | |
description: EmployersSearchRequest defines the request schema for `/employers/search`. | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
query: | |
type: string | |
description: The employer name to be searched for. | |
products: | |
type: array | |
description: The Plaid products the returned employers should support. Currently, this field must be set to `"deposit_switch"`. | |
items: | |
type: string | |
required: | |
- query | |
- products | |
EmployersSearchResponse: | |
title: EmployersSearchResponse | |
type: object | |
additionalProperties: true | |
description: EmployersSearchResponse defines the response schema for `/employers/search`. | |
properties: | |
employers: | |
type: array | |
description: A list of employers matching the search criteria. | |
items: | |
$ref: "#/components/schemas/Employer" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- employers | |
- request_id | |
Employer: | |
title: Employer | |
type: object | |
additionalProperties: true | |
description: Data about the employer. | |
properties: | |
employer_id: | |
type: string | |
description: Plaid's unique identifier for the employer. | |
name: | |
type: string | |
description: The name of the employer | |
address: | |
$ref: "#/components/schemas/AddressDataNullable" | |
confidence_score: | |
type: number | |
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). | |
required: | |
- employer_id | |
- name | |
- address | |
- confidence_score | |
IncomeVerificationCreateRequest: | |
title: IncomeVerificationCreateRequest | |
type: object | |
description: IncomeVerificationCreateRequest defines the request schema for `/income/verification/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
webhook: | |
type: string | |
description: The URL endpoint to which Plaid should send webhooks related to the progress of the income verification process. | |
precheck_id: | |
type: string | |
description: The ID of a precheck created with `/income/verification/precheck`. Will be used to improve conversion of the income verification flow. | |
options: | |
$ref: "#/components/schemas/IncomeVerificationCreateRequestOptions" | |
required: | |
- webhook | |
IncomeVerificationCreateRequestOptions: | |
title: IncomeVerificationCreateRequestOptions | |
type: object | |
description: IncomeVerificationCreateRequestOptions defines the optional arguments schema for `/income/verification/create` | |
properties: | |
access_tokens: | |
type: array | |
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" | |
IncomeVerificationCreateResponse: | |
title: IncomeVerificationCreateResponse | |
type: object | |
additionalProperties: true | |
description: IncomeVerificationCreateResponse defines the response schema for `/income/verification/create`. | |
properties: | |
income_verification_id: | |
type: string | |
description: ID of the verification. This ID is persisted throughout the lifetime of the verification. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- income_verification_id | |
- request_id | |
IncomeVerificationPrecheckRequest: | |
title: IncomeVerificationPrecheckRequest | |
type: object | |
description: IncomeVerificationPrecheckRequest defines the request schema for `/income/verification/precheck` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
user: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckUser" | |
employer: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckEmployer" | |
transactions_access_token: | |
deprecated: true | |
$ref: "#/components/schemas/AccessTokenNullable" | |
transactions_access_tokens: | |
type: array | |
description: An array of access tokens corresponding to the Items that will be cross-referenced with the product data. 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" | |
us_military_info: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckMilitaryInfo" | |
IncomeVerificationPrecheckEmployer: | |
title: IncomeVerificationPrecheckEmployer | |
type: object | |
nullable: true | |
properties: | |
name: | |
type: string | |
nullable: true | |
description: The employer's name | |
address: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckEmployerAddress" | |
tax_id: | |
type: string | |
nullable: true | |
description: The employer's tax id | |
url: | |
type: string | |
nullable: true | |
description: The URL for the employer's public website | |
IncomeVerificationPrecheckEmployerAddress: | |
title: IncomeVerificationPrecheckEmployerAddress | |
description: The address of the employer | |
type: object | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/IncomeVerificationPrecheckEmployerAddressData" | |
- type: object | |
additionalProperties: true | |
IncomeVerificationPrecheckEmployerAddressData: | |
title: AddressData | |
type: object | |
additionalProperties: true | |
description: Data about the components comprising an address. | |
properties: | |
city: | |
type: string | |
description: The full city name | |
region: | |
type: string | |
description: |- | |
The region or state. In API versions 2018-05-22 and earlier, this field is called `state`. | |
Example: `"NC"` | |
street: | |
type: string | |
description: |- | |
The full street address | |
Example: `"564 Main Street, APT 15"` | |
postal_code: | |
type: string | |
description: The postal code. In API versions 2018-05-22 and earlier, this field is called `zip`. | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code | |
IncomeVerificationPrecheckMilitaryInfo: | |
title: IncomeVerificationPrecheckMilitaryInfo | |
type: object | |
nullable: true | |
properties: | |
is_active_duty: | |
type: boolean | |
nullable: true | |
description: Is the user currently active duty in the US military | |
branch: | |
type: string | |
nullable: true | |
description: If the user is currently serving in the US military, the branch of the military they are serving in | |
enum: | |
- AIR FORCE | |
- ARMY | |
- COAST GUARD | |
- MARINES | |
- NAVY | |
- UNKNOWN | |
IncomeVerificationPrecheckUser: | |
title: IncomeVerificationPrecheckUser | |
type: object | |
nullable: true | |
properties: | |
first_name: | |
type: string | |
nullable: true | |
description: The user's first name | |
last_name: | |
type: string | |
nullable: true | |
description: The user's last name | |
email_address: | |
type: string | |
nullable: true | |
description: The user's email address | |
home_address: | |
$ref: "#/components/schemas/SignalAddressData" | |
IncomeVerificationPrecheckResponse: | |
title: IncomeVerificationPrecheckResponse | |
type: object | |
description: IncomeVerificationPrecheckResponse defines the response schema for `/income/verification/precheck`. | |
properties: | |
precheck_id: | |
type: string | |
description: ID of the precheck. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
confidence: | |
$ref: "#/components/schemas/IncomeVerificationPrecheckConfidence" | |
required: | |
- precheck_id | |
- confidence | |
- request_id | |
IncomeVerificationPrecheckConfidence: | |
description: |- | |
The confidence that Plaid can support the user in the income verification flow. One of the following: | |
`"HIGH"`: This precheck information submitted is definitively tied to a Plaid-supported integration. | |
"`LOW`": This precheck information submitted is known not to be supported by Plaid. | |
`"UNKNOWN"`: It was not possible to determine if the user is supportable with the information passed. | |
type: string | |
enum: | |
- HIGH | |
- LOW | |
- UNKNOWN | |
LinkTokenCreateRequestIncomeVerification: | |
title: LinkTokenCreateRequestIncomeVerification | |
type: object | |
description: Specifies options for initializing Link for use with the Income (beta) product. This field is required if `income_verification` is included in the `products` array. | |
properties: | |
income_verification_id: | |
type: string | |
deprecated: true | |
description: The `income_verification_id` of the verification instance, as provided by `/income/verification/create`. | |
asset_report_id: | |
type: string | |
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. | |
precheck_id: | |
type: string | |
description: The ID of a precheck created with `/income/verification/precheck`. Will be used to improve conversion of the income verification flow. | |
access_tokens: | |
type: array | |
description: An array of access tokens corresponding to the Items that will be cross-referenced with the product data. 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" | |
IncomeVerificationStatusWebhook: | |
title: IncomeVerificationStatusWebhook | |
type: object | |
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. | |
x-examples: | |
example-1: | |
webhook_type: INCOME | |
webhook_code: income_verification | |
income_verification_id: f6f5132f-853b-421c-8c41-d24f93ebc39f | |
item_id: gAXlMgVEw5uEGoQnnXZ6tn9E7Mn3LBc4PJVKZ | |
verification_status: VERIFICATION_STATUS_PROCESSING_COMPLETE | |
properties: | |
webhook_type: | |
type: string | |
description: '`"INCOME"`' | |
webhook_code: | |
type: string | |
description: "`income_verification`" | |
income_verification_id: | |
type: string | |
description: The `income_verification_id` of the verification instance whose status is being reported. | |
item_id: | |
type: string | |
description: The Item ID associated with the verification. | |
verification_status: | |
type: string | |
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 `/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed. | |
`VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation. | |
`VERIFICATION_STATUS_PENDING_APPROVAL`: The income verification has been sent to the user for review. | |
required: | |
- webhook_type | |
- webhook_code | |
- income_verification_id | |
- item_id | |
- verification_status | |
IncomeVerificationSummaryGetRequest: | |
title: IncomeVerificationSummaryGetRequest | |
type: object | |
description: IncomeVerificationSummaryGetRequest defines the request schema for `/income/verification/summary/get`. | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
nullable: true | |
deprecated: true | |
description: The ID of the verification. | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
IncomeVerificationSummaryGetResponse: | |
title: IncomeVerificationSummaryGetResponse | |
type: object | |
additionalProperties: true | |
description: IncomeVerificationSummaryGetResponse defines the response schema for `/income/verification/summary/get`. | |
properties: | |
income_summaries: | |
type: array | |
description: A list of income summaries. | |
items: | |
$ref: "#/components/schemas/IncomeSummary" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- income_summaries | |
- request_id | |
IncomeVerificationRefreshRequest: | |
type: object | |
description: IncomeVerificationRefreshRequest defines the request schema for `/income/verification/refresh` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
nullable: true | |
deprecated: true | |
description: The ID of the verification. | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
IncomeVerificationRefreshResponse: | |
type: object | |
description: IncomeVerificationRequestResponse defines the response schema for `/income/verification/refresh` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
verification_refresh_status: | |
$ref: "#/components/schemas/VerificationRefreshStatus" | |
required: | |
- request_id | |
- verification_refresh_status | |
IncomeSummary: | |
title: IncomeSummary | |
type: object | |
additionalProperties: true | |
description: The verified fields from a paystub verification. All fields are provided as reported on the paystub. | |
properties: | |
employer_name: | |
$ref: "#/components/schemas/EmployerIncomeSummaryFieldString" | |
employee_name: | |
$ref: "#/components/schemas/EmployeeIncomeSummaryFieldString" | |
ytd_gross_income: | |
$ref: "#/components/schemas/YTDGrossIncomeSummaryFieldNumber" | |
ytd_net_income: | |
$ref: "#/components/schemas/YTDNetIncomeSummaryFieldNumber" | |
pay_frequency: | |
$ref: "#/components/schemas/PayFrequency" | |
projected_wage: | |
$ref: "#/components/schemas/ProjectedIncomeSummaryFieldNumber" | |
verified_transaction: | |
$ref: "#/components/schemas/TransactionData" | |
required: | |
- employer_name | |
- employee_name | |
- ytd_gross_income | |
- ytd_net_income | |
- pay_frequency | |
- projected_wage | |
- verified_transaction | |
TransactionData: | |
title: TransactionData | |
type: object | |
additionalProperties: true | |
nullable: true | |
description: Information about the matched direct deposit transaction used to verify a user's payroll information. | |
properties: | |
description: | |
type: string | |
description: The description of the transaction. | |
amount: | |
type: number | |
description: The amount of the transaction. | |
date: | |
type: string | |
format: date | |
description: The date of the transaction, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd"). | |
account_id: | |
type: string | |
description: A unique identifier for the end user's account. | |
transaction_id: | |
type: string | |
description: A unique identifier for the transaction. | |
required: | |
- description | |
- amount | |
- date | |
- account_id | |
- transaction_id | |
IncomeSummaryFieldString: | |
title: IncomeSummaryFieldString | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
value: | |
type: string | |
description: The value of the field. | |
verification_status: | |
$ref: "#/components/schemas/VerificationStatus" | |
required: | |
- value | |
- verification_status | |
EmployerIncomeSummaryFieldString: | |
allOf: | |
- $ref: "#/components/schemas/IncomeSummaryFieldString" | |
- type: object | |
additionalProperties: true | |
description: The name of the employer, as reported on the paystub. | |
EmployeeIncomeSummaryFieldString: | |
allOf: | |
- $ref: "#/components/schemas/IncomeSummaryFieldString" | |
- type: object | |
additionalProperties: true | |
description: The name of the employee, as reported on the paystub. | |
IncomeSummaryFieldNumber: | |
title: IncomeSummaryFieldNumber | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
value: | |
type: number | |
description: The value of the field. | |
verification_status: | |
$ref: "#/components/schemas/VerificationStatus" | |
required: | |
- value | |
- verification_status | |
YTDGrossIncomeSummaryFieldNumber: | |
allOf: | |
- $ref: "#/components/schemas/IncomeSummaryFieldNumber" | |
- type: object | |
additionalProperties: true | |
description: Year-to-date pre-tax earnings, as reported on the paystub. | |
YTDNetIncomeSummaryFieldNumber: | |
allOf: | |
- $ref: "#/components/schemas/IncomeSummaryFieldNumber" | |
- type: object | |
additionalProperties: true | |
description: Year-to-date earnings after any tax withholdings, benefit payments or deductions, as reported on the paystub. | |
ProjectedIncomeSummaryFieldNumber: | |
allOf: | |
- $ref: "#/components/schemas/IncomeSummaryFieldNumber" | |
- type: object | |
additionalProperties: true | |
description: The employee's estimated annual salary, as derived from information reported on the paystub. | |
PayFrequency: | |
title: PayFrequency | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
value: | |
$ref: "#/components/schemas/PayFrequencyValue" | |
verification_status: | |
$ref: "#/components/schemas/VerificationStatus" | |
required: | |
- value | |
- verification_status | |
PayFrequencyValue: | |
type: string | |
title: PayFrequencyValue | |
enum: | |
- monthly | |
- semimonthly | |
- weekly | |
- biweekly | |
- unknown | |
- null | |
description: The frequency of the pay period. | |
VerificationStatus: | |
type: string | |
title: VerificationStatus | |
description: |- | |
The verification status. One of the following: | |
`"VERIFIED"`: The information was successfully verified. | |
`"UNVERIFIED"`: The verification has not yet been performed. | |
`"NEEDS_INFO"`: The verification was attempted but could not be completed due to missing information. | |
"`UNABLE_TO_VERIFY`": The verification was performed and the information could not be verified. | |
`"UNKNOWN"`: The verification status is unknown. | |
enum: | |
- VERIFIED | |
- UNVERIFIED | |
- NEEDS_INFO | |
- UNABLE_TO_VERIFY | |
- UNKNOWN | |
VerificationRefreshStatus: | |
type: string | |
title: VerificationRefreshStatus | |
description: |- | |
The verification refresh status. One of the following: | |
`"VERIFICATION_REFRESH_STATUS_USER_PRESENCE_REQUIRED"` User presence is required to refresh an income verification. | |
`"VERIFICATION_REFRESH_SUCCESSFUL"` The income verification refresh was successful. | |
`"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 | |
IncomeVerificationPaystubGetRequest: | |
title: IncomeVerificationPaystubGetRequest | |
type: object | |
description: IncomeVerificationPaystubGetRequest defines the request schema for `/income/verification/paystub/get`. | |
deprecated: true | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
nullable: true | |
deprecated: true | |
description: The ID of the verification for which to get paystub information. | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
IncomeVerificationPaystubGetResponse: | |
title: IncomeVerificationPaystubGetResponse | |
type: object | |
additionalProperties: true | |
deprecated: true | |
description: IncomeVerificationPaystubGetResponse defines the response schema for `/income/verification/paystub/get`. | |
properties: | |
paystub: | |
$ref: "#/components/schemas/Paystub" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- paystub | |
- request_id | |
IncomeVerificationPaystubsGetRequest: | |
title: IncomeVerificationPaystubsGetRequest | |
type: object | |
description: IncomeVerificationPaystubsGetRequest defines the request schema for `/income/verification/paystubs/get`. | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
nullable: true | |
deprecated: true | |
description: The ID of the verification for which to get paystub information. | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
IncomeVerificationPaystubsGetResponse: | |
title: IncomeVerificationPaystubsGetResponse | |
type: object | |
additionalProperties: true | |
description: IncomeVerificationPaystubsGetResponse defines the response schema for `/income/verification/paystubs/get`. | |
properties: | |
document_metadata: | |
type: array | |
items: | |
$ref: "#/components/schemas/DocumentMetadata" | |
paystubs: | |
type: array | |
items: | |
$ref: "#/components/schemas/Paystub" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- paystubs | |
- request_id | |
DocumentMetadata: | |
title: DocumentMetadata | |
type: object | |
additionalProperties: true | |
description: An object representing metadata from the end user's uploaded document. | |
properties: | |
name: | |
type: string | |
description: The name of the document. | |
status: | |
type: string | |
description: The processing status of the document. | |
doc_id: | |
type: string | |
description: An identifier of the document that is also present in the paystub response. | |
doc_type: | |
$ref: "#/components/schemas/DocType" | |
DocType: | |
title: DocType | |
type: string | |
description: |- | |
The type of document. | |
`DOCUMENT_TYPE_PAYSTUB`: A paystub. | |
`DOCUMENT_TYPE_BANK_STATEMENT`: A bank statement. | |
`DOCUMENT_TYPE_US_TAX_W2`: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee. | |
`DOCUMENT_TYPE_US_MILITARY_ERAS`: An electronic Retirement Account Statement (eRAS) issued by the US military. | |
`DOCUMENT_TYPE_US_MILITARY_LES`: A Leave and Earnings Statement (LES) issued by the US military. | |
`DOCUMENT_TYPE_US_MILITARY_CLES`: A Civilian Leave and Earnings Statment (CLES) issued by the US military. | |
`DOCUMENT_TYPE_GIG`: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type. | |
`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 | |
Paystub: | |
title: Paystub | |
type: object | |
additionalProperties: true | |
description: An object representing data extracted from the end user's paystub. | |
properties: | |
deductions: | |
$ref: "#/components/schemas/Deductions" | |
doc_id: | |
type: string | |
description: An identifier of the document referenced by the document metadata. | |
earnings: | |
$ref: "#/components/schemas/Earnings" | |
employee: | |
$ref: "#/components/schemas/Employee" | |
employer: | |
$ref: "#/components/schemas/PaystubEmployer" | |
employment_details: | |
$ref: "#/components/schemas/EmploymentDetails" | |
net_pay: | |
$ref: "#/components/schemas/NetPay" | |
pay_period_details: | |
$ref: "#/components/schemas/PayPeriodDetails" | |
paystub_details: | |
$ref: "#/components/schemas/PaystubDetails" | |
income_breakdown: | |
type: array | |
deprecated: true | |
items: | |
$ref: "#/components/schemas/IncomeBreakdown" | |
ytd_earnings: | |
$ref: "#/components/schemas/PaystubYTDDetails" | |
verification: | |
$ref: "#/components/schemas/PaystubVerification" | |
required: | |
- deductions | |
- doc_id | |
- earnings | |
- employee | |
- employer | |
- net_pay | |
- pay_period_details | |
- verification | |
Deductions: | |
title: Deductions | |
type: object | |
description: An object with the deduction information found on a paystub. | |
additionalProperties: true | |
properties: | |
subtotals: | |
deprecated: true | |
type: array | |
items: | |
$ref: "#/components/schemas/Total" | |
breakdown: | |
type: array | |
items: | |
$ref: "#/components/schemas/DeductionsBreakdown" | |
totals: | |
deprecated: true | |
type: array | |
items: | |
$ref: "#/components/schemas/Total" | |
total: | |
$ref: "#/components/schemas/DeductionsTotal" | |
required: | |
- breakdown | |
- total | |
DeductionsBreakdown: | |
title: DeductionsBreakdown | |
type: object | |
additionalProperties: true | |
description: An object representing the deduction line items for the pay period | |
properties: | |
current_amount: | |
type: number | |
description: Raw amount of the deduction | |
nullable: true | |
description: | |
type: string | |
description: Description of the deduction line item | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
ytd_amount: | |
type: number | |
description: The year-to-date amount of the deduction | |
nullable: true | |
DeductionsTotal: | |
title: DeductionsTotal | |
type: object | |
description: An object representing the total deductions for the pay period | |
additionalProperties: true | |
properties: | |
current_amount: | |
type: number | |
description: Raw amount of the deduction | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
ytd_amount: | |
type: number | |
description: The year-to-date total amount of the deductions | |
nullable: true | |
Total: | |
title: Total | |
type: object | |
deprecated: true | |
description: An object representing both the current pay period and year to date amount for a category. | |
additionalProperties: true | |
properties: | |
canonical_description: | |
$ref: "#/components/schemas/TotalCanonicalDescription" | |
description: | |
type: string | |
description: Text of the line item as printed on the paystub. | |
nullable: true | |
current_pay: | |
$ref: "#/components/schemas/Pay" | |
ytd_pay: | |
$ref: "#/components/schemas/Pay" | |
TotalCanonicalDescription: | |
type: string | |
nullable: true | |
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 | |
Pay: | |
title: Pay | |
type: object | |
deprecated: true | |
description: An object representing a monetary amount. | |
additionalProperties: true | |
properties: | |
amount: | |
type: number | |
description: A numerical amount of a specific currency. | |
nullable: true | |
currency: | |
type: string | |
description: Currency code, e.g. USD | |
nullable: true | |
minLength: 3 | |
maxLength: 3 | |
Earnings: | |
title: Earnings | |
type: object | |
description: An object representing both a breakdown of earnings on a paystub and the total earnings. | |
additionalProperties: true | |
properties: | |
subtotals: | |
deprecated: true | |
type: array | |
items: | |
$ref: "#/components/schemas/EarningsTotal" | |
totals: | |
deprecated: true | |
type: array | |
items: | |
$ref: "#/components/schemas/EarningsTotal" | |
breakdown: | |
type: array | |
items: | |
$ref: "#/components/schemas/EarningsBreakdown" | |
total: | |
$ref: "#/components/schemas/EarningsTotal" | |
EarningsBreakdown: | |
title: EarningsBreakdown | |
type: object | |
additionalProperties: true | |
description: An object representing the earnings line items for the pay period. | |
properties: | |
canonical_description: | |
$ref: "#/components/schemas/EarningsBreakdownCanonicalDescription" | |
current_amount: | |
type: number | |
description: Raw amount of the earning line item. | |
nullable: true | |
description: | |
type: string | |
description: Description of the earning line item. | |
nullable: true | |
hours: | |
type: number | |
description: Number of hours applicable for this earning. | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
rate: | |
type: number | |
description: Hourly rate applicable for this earning. | |
nullable: true | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
ytd_amount: | |
type: number | |
description: The year-to-date amount of the deduction. | |
nullable: true | |
EarningsBreakdownCanonicalDescription: | |
type: string | |
description: Commonly used term to describe the earning line item. | |
enum: | |
- BONUS | |
- COMMISSION | |
- OVERTIME | |
- PAID TIME OFF | |
- REGULAR PAY | |
- VACATION | |
- OTHER | |
- null | |
nullable: true | |
EarningsTotal: | |
title: EarningsTotal | |
type: object | |
description: An object representing both the current pay period and year to date amount for an earning category. | |
additionalProperties: true | |
properties: | |
current_amount: | |
type: number | |
description: Total amount of the earnings for this pay period | |
nullable: true | |
current_pay: | |
$ref: "#/components/schemas/Pay" | |
ytd_pay: | |
$ref: "#/components/schemas/Pay" | |
hours: | |
type: number | |
description: Total number of hours worked for this pay period | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the line item. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
ytd_amount: | |
type: number | |
description: The total year-to-date amount of the earnings | |
nullable: true | |
EmploymentDetails: | |
title: EmploymentDetails | |
type: object | |
deprecated: true | |
description: An object representing employment details found on a paystub. | |
additionalProperties: true | |
properties: | |
annual_salary: | |
$ref: "#/components/schemas/Pay" | |
hire_date: | |
type: string | |
format: date | |
description: Date on which the employee was hired, in the YYYY-MM-DD format. | |
nullable: true | |
NetPay: | |
title: NetPay | |
type: object | |
description: An object representing information about the net pay amount on the paystub. | |
additionalProperties: true | |
properties: | |
current_amount: | |
type: number | |
description: Raw amount of the net pay for the pay period | |
nullable: true | |
description: | |
type: string | |
description: Description of the net pay | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
ytd_amount: | |
type: number | |
description: The year-to-date amount of the net pay | |
nullable: true | |
total: | |
$ref: "#/components/schemas/Total" | |
PaystubDetails: | |
title: PaystubDetails | |
type: object | |
deprecated: true | |
description: An object representing details that can be found on the paystub. | |
additionalProperties: true | |
properties: | |
pay_period_start_date: | |
type: string | |
format: date | |
description: Beginning date of the pay period on the paystub in the 'YYYY-MM-DD' format. | |
nullable: true | |
pay_period_end_date: | |
type: string | |
format: date | |
description: Ending date of the pay period on the paystub in the 'YYYY-MM-DD' format. | |
nullable: true | |
pay_date: | |
type: string | |
format: date | |
description: Pay date on the paystub in the 'YYYY-MM-DD' format. | |
nullable: true | |
paystub_provider: | |
type: string | |
description: The name of the payroll provider that generated the paystub, e.g. ADP | |
nullable: true | |
pay_frequency: | |
$ref: "#/components/schemas/PaystubPayFrequency" | |
PaystubPayFrequency: | |
type: string | |
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 | |
IncomeBreakdown: | |
title: IncomeBreakdown | |
type: object | |
description: An object representing a breakdown of the different income types on the paystub. | |
additionalProperties: true | |
deprecated: true | |
properties: | |
type: | |
$ref: "#/components/schemas/IncomeBreakdownType" | |
rate: | |
type: number | |
description: The hourly rate at which the income is paid. | |
nullable: true | |
hours: | |
type: number | |
description: The number of hours logged for this income for this pay period. | |
nullable: true | |
total: | |
type: number | |
description: The total pay for this pay period. | |
nullable: true | |
required: | |
- type | |
- rate | |
- hours | |
- total | |
IncomeBreakdownType: | |
type: string | |
description: |- | |
The type of income. Possible values include: | |
`"regular"`: regular income | |
`"overtime"`: overtime income | |
`"bonus"`: bonus income | |
enum: | |
- bonus | |
- overtime | |
- regular | |
- null | |
nullable: true | |
Employee: | |
title: Employee | |
type: object | |
additionalProperties: true | |
description: Data about the employee. | |
properties: | |
address: | |
$ref: "#/components/schemas/PaystubAddress" | |
name: | |
type: string | |
description: The name of the employee. | |
nullable: true | |
marital_status: | |
type: string | |
description: Marital status of the employee. | |
nullable: true | |
taxpayer_id: | |
$ref: "#/components/schemas/TaxpayerID" | |
required: | |
- name | |
- address | |
TaxpayerID: | |
title: TaxpayerID | |
type: object | |
additionalProperties: true | |
description: Taxpayer ID of the individual receiving the paystub. | |
properties: | |
id_type: | |
type: string | |
description: Type of ID, e.g. 'SSN' | |
nullable: true | |
id_mask: | |
type: string | |
description: ID mask; i.e. last 4 digits of the taxpayer ID | |
nullable: true | |
last_4_digits: | |
deprecated: true | |
type: string | |
description: Last 4 digits of unique number of ID. | |
minLength: 4 | |
maxLength: 4 | |
nullable: true | |
PaystubEmployer: | |
title: Employer | |
type: object | |
additionalProperties: true | |
properties: | |
address: | |
$ref: "#/components/schemas/PaystubAddress" | |
name: | |
type: string | |
description: The name of the employer on the paystub. | |
nullable: true | |
required: | |
- name | |
PaystubAddress: | |
title: Address | |
type: object | |
additionalProperties: true | |
properties: | |
city: | |
type: string | |
description: The full city name. | |
nullable: true | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code. | |
nullable: true | |
postal_code: | |
type: string | |
description: The postal code of the address. | |
nullable: true | |
region: | |
type: string | |
description: |- | |
The region or state | |
Example: `"NC"` | |
nullable: true | |
street: | |
type: string | |
description: The full street address. | |
nullable: true | |
line1: | |
deprecated: true | |
type: string | |
description: Street address line 1. | |
nullable: true | |
line2: | |
deprecated: true | |
type: string | |
description: Street address line 2. | |
nullable: true | |
state_code: | |
deprecated: true | |
type: string | |
description: |- | |
The region or state | |
Example: `"NC"` | |
nullable: true | |
PayPeriodDetails: | |
title: PayPeriodDetails | |
type: object | |
additionalProperties: true | |
description: Details about the pay period. | |
properties: | |
check_amount: | |
type: number | |
description: The amount of the paycheck. | |
nullable: true | |
distribution_breakdown: | |
type: array | |
items: | |
$ref: "#/components/schemas/DistributionBreakdown" | |
end_date: | |
type: string | |
format: date | |
description: 'The pay period end date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: "yyyy-mm-dd".' | |
nullable: true | |
gross_earnings: | |
type: number | |
description: Total earnings before tax/deductions. | |
nullable: true | |
pay_date: | |
type: string | |
format: date | |
description: The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd"). | |
nullable: true | |
pay_frequency: | |
type: string | |
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 | |
pay_day: | |
deprecated: true | |
type: string | |
format: date | |
description: The date on which the paystub was issued, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ("yyyy-mm-dd"). | |
nullable: true | |
start_date: | |
type: string | |
format: date | |
description: 'The pay period start date, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format: "yyyy-mm-dd".' | |
nullable: true | |
DistributionBreakdown: | |
title: DistributionBreakdown | |
type: object | |
description: Information about the accounts that the payment was distributed to. | |
additionalProperties: true | |
properties: | |
account_name: | |
type: string | |
description: Name of the account for the given distribution. | |
nullable: true | |
bank_name: | |
type: string | |
description: The name of the bank that the payment is being deposited to. | |
nullable: true | |
current_amount: | |
type: number | |
description: The amount distributed to this account. | |
nullable: true | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the net pay. Always `null` if `unofficial_currency_code` is non-null. | |
nullable: true | |
mask: | |
type: string | |
description: The last 2-4 alphanumeric characters of an account's official account number. | |
nullable: true | |
type: | |
type: string | |
description: Type of the account that the paystub was sent to (e.g. 'checking'). | |
nullable: true | |
unofficial_currency_code: | |
nullable: true | |
type: string | |
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. | |
See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s. | |
current_pay: | |
$ref: "#/components/schemas/Pay" | |
PaystubDeduction: | |
title: PaystubDeduction | |
type: object | |
additionalProperties: true | |
properties: | |
type: | |
type: string | |
description: 'The description of the deduction, as provided on the paystub. For example: `"401(k)"`, `"FICA MED TAX"`.' | |
nullable: true | |
is_pretax: | |
type: boolean | |
description: "`true` if the deduction is pre-tax; `false` otherwise." | |
nullable: true | |
total: | |
type: number | |
description: The amount of the deduction. | |
nullable: true | |
required: | |
- type | |
- is_pretax | |
- total | |
PaystubYTDDetails: | |
title: PaystubYTDDetails | |
type: object | |
deprecated: true | |
additionalProperties: true | |
properties: | |
gross_earnings: | |
type: number | |
description: Year-to-date gross earnings. | |
nullable: true | |
net_earnings: | |
type: number | |
description: Year-to-date net (take home) earnings. | |
nullable: true | |
description: The amount of income earned year to date, as based on paystub data. | |
PaystubVerification: | |
title: PaystubVerification | |
description: An object containing details on the paystub's verification status. This object will only be populated if the [`income_verification.access_tokens`](/docs/api/tokens/#link-token-create-request-income-verification-access-tokens) parameter was provided during the `/link/token/create` call or if a problem was detected with the information supplied by the user; otherwise it will be `null`. | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
verification_status: | |
$ref: "#/components/schemas/PaystubVerificationStatus" | |
verification_attributes: | |
type: array | |
items: | |
$ref: "#/components/schemas/VerificationAttribute" | |
required: | |
- verification_status | |
- verification_attributes | |
PaystubVerificationStatus: | |
type: string | |
title: PaystubVerificationStatus | |
description: Derived verification status. | |
nullable: true | |
enum: | |
- PAYSTUB_VERIFICATION_STATUS_UNKNOWN | |
- PAYSTUB_VERIFICATION_STATUS_VERIFIED | |
- PAYSTUB_VERIFICATION_STATUS_FRAUDULENT | |
- null | |
VerificationAttribute: | |
title: VerificationAttribute | |
description: Details about a certain reason as to why a document could potentially be fraudulent | |
type: object | |
additionalProperties: true | |
nullable: true | |
properties: | |
type: | |
title: VerificationAttributeType | |
type: string | |
description: Message indicating the reason as to why the verification failed | |
nullable: true | |
enum: | |
- VERIFICATION_ATTRIBUTE_TYPE_UNKNOWN | |
- VERIFICATION_ATTRIBUTE_TYPE_AMOUNT_MATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_DATE_MATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_DATE_MISMATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_FILE_TAMPERING | |
- VERIFICATION_ATTRIBUTE_TYPE_DESCRIPTION_MATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_DESCRIPTION_MISMATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_FIRST_NAME_MATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_FIRST_NAME_MISMATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_LAST_NAME_MATCH | |
- VERIFICATION_ATTRIBUTE_TYPE_LAST_NAME_MISMATCH | |
- null | |
required: | |
- type | |
IncomeVerificationDocumentsDownloadRequest: | |
title: IncomeVerificationDocumentsDownloadRequest | |
type: object | |
description: IncomeVerificationDocumentsDownloadRequest defines the request schema for `/income/verification/documents/download`. | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
nullable: true | |
deprecated: true | |
description: The ID of the verification. | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
document_id: | |
type: string | |
nullable: true | |
description: The document ID to download. If passed, a single document will be returned in the resulting zip file, rather than all document | |
IncomeVerificationTaxformsGetRequest: | |
title: IncomeVerificationTaxformsGetRequest | |
type: object | |
description: IncomeVerificationTaxformsGetRequest defines the request schema for `/income/verification/taxforms/get` | |
additionalProperties: true | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
description: The ID of the verification. | |
nullable: true | |
deprecated: true | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
IncomeVerificationTaxformsGetResponse: | |
title: IncomeVerificationTaxformsGetResponse | |
type: object | |
additionalProperties: true | |
description: IncomeVerificationTaxformsGetResponse defines the response schema for `/income/verification/taxforms/get` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
document_metadata: | |
type: array | |
items: | |
$ref: "#/components/schemas/DocumentMetadata" | |
taxforms: | |
type: array | |
description: A list of taxforms. | |
items: | |
$ref: "#/components/schemas/Taxform" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
required: | |
- taxforms | |
- document_metadata | |
Taxform: | |
title: Taxform | |
type: object | |
additionalProperties: true | |
properties: | |
doc_id: | |
type: string | |
description: An identifier of the document referenced by the document metadata. | |
document_type: | |
type: string | |
description: The type of tax document. | |
w2: | |
$ref: "#/components/schemas/W2" | |
required: | |
- document_type | |
W2: | |
title: W2 | |
type: object | |
additionalProperties: true | |
description: W2 is an object that represents income data taken from a W2 tax document. | |
properties: | |
employer: | |
$ref: "#/components/schemas/PaystubEmployer" | |
employee: | |
$ref: "#/components/schemas/Employee" | |
tax_year: | |
type: string | |
description: The tax year of the W2 document. | |
nullable: true | |
employer_id_number: | |
type: string | |
description: An employee identification number or EIN. | |
nullable: true | |
wages_tips_other_comp: | |
type: string | |
description: Wages from tips and other compensation. | |
nullable: true | |
federal_income_tax_withheld: | |
type: string | |
description: Federal income tax withheld for the tax year. | |
nullable: true | |
social_security_wages: | |
type: string | |
description: Wages from social security. | |
nullable: true | |
social_security_tax_withheld: | |
type: string | |
description: Social security tax withheld for the tax year. | |
nullable: true | |
medicare_wages_and_tips: | |
type: string | |
description: Wages and tips from medicare. | |
nullable: true | |
medicare_tax_withheld: | |
type: string | |
description: Medicare tax withheld for the tax year. | |
nullable: true | |
social_security_tips: | |
type: string | |
description: Tips from social security. | |
nullable: true | |
allocated_tips: | |
type: string | |
description: Allocated tips. | |
nullable: true | |
box_9: | |
type: string | |
description: Contents from box 9 on the W2. | |
nullable: true | |
dependent_care_benefits: | |
type: string | |
description: Dependent care benefits. | |
nullable: true | |
nonqualified_plans: | |
type: string | |
description: Nonqualified plans. | |
nullable: true | |
box_12: | |
type: array | |
items: | |
$ref: "#/components/schemas/W2Box12" | |
statutory_employee: | |
type: string | |
description: Statutory employee. | |
nullable: true | |
retirement_plan: | |
type: string | |
description: Retirement plan. | |
nullable: true | |
third_party_sick_pay: | |
type: string | |
description: Third party sick pay. | |
nullable: true | |
other: | |
type: string | |
description: Other. | |
nullable: true | |
state_and_local_wages: | |
type: array | |
items: | |
$ref: "#/components/schemas/W2StateAndLocalWages" | |
W2Box12: | |
title: W2Box12 | |
type: object | |
additionalProperties: true | |
properties: | |
code: | |
type: string | |
description: W2 Box 12 code. | |
nullable: true | |
amount: | |
type: string | |
description: W2 Box 12 amount. | |
nullable: true | |
W2StateAndLocalWages: | |
title: W2StateAndLocalWages | |
type: object | |
additionalProperties: true | |
properties: | |
state: | |
type: string | |
description: State associated with the wage. | |
nullable: true | |
employer_state_id_number: | |
type: string | |
description: State identification number of the employer. | |
nullable: true | |
state_wages_tips: | |
type: string | |
description: Wages and tips from the specified state. | |
nullable: true | |
state_income_tax: | |
type: string | |
description: Income tax from the specified state. | |
nullable: true | |
local_wages_tips: | |
type: string | |
description: Wages and tips from the locality. | |
nullable: true | |
local_income_tax: | |
type: string | |
description: Income tax from the locality. | |
nullable: true | |
locality_name: | |
type: string | |
description: Name of the locality. | |
nullable: true | |
IncomeVerificationWebhookStatus: | |
title: IncomeVerificationWebhookStatus | |
type: object | |
additionalProperties: true | |
properties: | |
id: | |
type: string | |
required: | |
- id | |
EmploymentVerificationGetRequest: | |
title: EmploymentVerificationGetRequest | |
type: object | |
description: EmploymentVerificationGetRequest defines the request schema for `/employment/verification/get`. | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
required: | |
- access_token | |
EmploymentVerificationGetResponse: | |
title: EmploymentVerificationGetResponse | |
type: object | |
additionalProperties: true | |
description: EmploymentVerificationGetResponse defines the response schema for `/employment/verification/get`. | |
properties: | |
employments: | |
type: array | |
description: A list of employment verification summaries. | |
items: | |
$ref: "#/components/schemas/EmploymentVerification" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- employments | |
- request_id | |
EmploymentVerification: | |
title: EmploymentVerification | |
type: object | |
additionalProperties: true | |
description: An object containing proof of employment data for an individual | |
properties: | |
status: | |
$ref: "#/components/schemas/EmploymentVerificationStatus" | |
start_date: | |
format: date | |
type: string | |
description: Start of employment in ISO_8601 format (YYYY-MM-DD). | |
nullable: true | |
end_date: | |
format: date | |
type: string | |
description: End of employment, if applicable. In ISO_8601 format (YYY-MM-DD). | |
nullable: true | |
employer: | |
$ref: "#/components/schemas/EmployerVerification" | |
title: | |
type: string | |
description: Current title of employee. | |
nullable: true | |
platform_ids: | |
$ref: "#/components/schemas/PlatformIds" | |
EmploymentVerificationStatus: | |
type: string | |
description: Current employment status. | |
nullable: true | |
enum: | |
- EMPLOYMENT_STATUS_ACTIVE | |
- EMPLOYMENT_STATUS_INACTIVE | |
- null | |
EmployerVerification: | |
title: EmployerVerification | |
type: object | |
additionalProperties: true | |
description: An object containing employer data. | |
properties: | |
name: | |
type: string | |
description: Name of employer. | |
nullable: true | |
PlatformIds: | |
title: PlatformIds | |
type: object | |
additionalProperties: true | |
description: An object containing a set of ids related to an employee | |
properties: | |
employee_id: | |
type: string | |
description: The ID of an employee as given by their employer | |
nullable: true | |
payroll_id: | |
type: string | |
description: The ID of an employee as given by their payroll | |
nullable: true | |
position_id: | |
type: string | |
description: The ID of the position of the employee | |
nullable: true | |
AssetReportTransaction: | |
title: AssetReportTransaction | |
allOf: | |
- $ref: "#/components/schemas/TransactionBase" | |
- type: object | |
additionalProperties: true | |
properties: | |
date_transacted: | |
type: string | |
nullable: true | |
description: The date on which the transaction took place, in IS0 8601 format. | |
required: | |
- original_description | |
HealthIncident: | |
title: HealthIncident | |
type: object | |
additionalProperties: true | |
properties: | |
start_date: | |
type: string | |
format: date-time | |
description: The start date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `"2020-10-30T15:26:48Z"`. | |
end_date: | |
type: string | |
format: date-time | |
description: The end date of the incident, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format, e.g. `"2020-10-30T15:26:48Z"`. | |
title: | |
type: string | |
description: The title of the incident | |
incident_updates: | |
type: array | |
description: Updates on the health incident. | |
items: | |
$ref: "#/components/schemas/IncidentUpdate" | |
required: | |
- start_date | |
- title | |
- incident_updates | |
IncidentUpdate: | |
title: IncidentUpdate | |
type: object | |
additionalProperties: true | |
properties: | |
description: | |
type: string | |
description: The content of the update. | |
status: | |
type: string | |
description: The status of the incident. | |
enum: | |
- INVESTIGATING | |
- IDENTIFIED | |
- SCHEDULED | |
- RESOLVED | |
- UNKNOWN | |
updated_date: | |
type: string | |
format: date-time | |
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"`. | |
DepositSwitchAltCreateRequest: | |
title: DepositSwitchAltCreateRequest | |
type: object | |
description: DepositSwitchAltCreateRequest defines the request schema for `/deposit_switch/alt/create` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
target_account: | |
$ref: "#/components/schemas/DepositSwitchTargetAccount" | |
target_user: | |
$ref: "#/components/schemas/DepositSwitchTargetUser" | |
options: | |
$ref: "#/components/schemas/DepositSwitchCreateRequestOptions" | |
country_code: | |
type: string | |
title: CountryCode | |
enum: | |
- US | |
- CA | |
description: ISO-3166-1 alpha-2 country code standard. | |
nullable: true | |
required: | |
- target_account | |
- target_user | |
DepositSwitchAltCreateResponse: | |
title: DepositSwitchAltCreateResponse | |
type: object | |
additionalProperties: true | |
properties: | |
deposit_switch_id: | |
type: string | |
description: ID of the deposit switch. This ID is persisted throughout the lifetime of the deposit switch. | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- deposit_switch_id | |
- request_id | |
description: DepositSwitchAltCreateResponse defines the response schema for `/deposit_switch/alt/create` | |
DepositSwitchTargetAccount: | |
title: DepositSwitchTargetAccount | |
type: object | |
additionalProperties: true | |
properties: | |
account_number: | |
type: string | |
description: Account number for deposit switch destination | |
routing_number: | |
type: string | |
description: Routing number for deposit switch destination | |
account_name: | |
type: string | |
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. | |
account_subtype: | |
type: string | |
description: The account subtype of the account, either `checking` or `savings`. | |
enum: | |
- checking | |
- savings | |
required: | |
- account_number | |
- routing_number | |
- account_name | |
- account_subtype | |
DepositSwitchTargetUser: | |
title: DepositSwitchTargetUser | |
type: object | |
additionalProperties: true | |
properties: | |
given_name: | |
type: string | |
description: The given name (first name) of the user. | |
family_name: | |
type: string | |
description: The family name (last name) of the user. | |
phone: | |
type: string | |
description: The phone number of the user. The endpoint can accept a variety of phone number formats, including E.164. | |
email: | |
type: string | |
description: The email address of the user. | |
address: | |
$ref: "#/components/schemas/DepositSwitchAddressData" | |
tax_payer_id: | |
type: string | |
description: The taxpayer ID of the user, generally their SSN, EIN, or TIN. | |
required: | |
- given_name | |
- family_name | |
- phone | |
DepositSwitchAddressData: | |
title: DepositSwitchAddressData | |
type: object | |
additionalProperties: true | |
description: The user's address. | |
properties: | |
city: | |
type: string | |
description: The full city name | |
region: | |
type: string | |
description: |- | |
The region or state | |
Example: `"NC"` | |
street: | |
type: string | |
description: |- | |
The full street address | |
Example: `"564 Main Street, APT 15"` | |
postal_code: | |
type: string | |
description: The postal code | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code | |
required: | |
- street | |
- city | |
- region | |
- postal_code | |
- country | |
SandboxBankTransferFireWebhookRequest: | |
title: SandboxBankTransferFireWebhookRequest | |
type: object | |
description: Defines the request schema for `/sandbox/bank_transfer/fire_webhook` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
webhook: | |
type: string | |
description: The URL to which the webhook should be sent. | |
required: | |
- webhook | |
SandboxBankTransferFireWebhookResponse: | |
title: SandboxBankTransferFireWebhookResponse | |
type: object | |
description: Defines the response schema for `/sandbox/bank_transfer/fire_webhook` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
ApplicationID: | |
title: ApplicationID | |
type: string | |
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. | |
Application: | |
type: object | |
description: Metadata about the application | |
properties: | |
application_id: | |
$ref: "#/components/schemas/ApplicationID" | |
name: | |
type: string | |
description: The name of the application | |
created_at: | |
type: string | |
format: date | |
description: The date this application was linked in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC. | |
logo_url: | |
nullable: true | |
type: string | |
description: A URL that links to the application logo image. | |
application_url: | |
nullable: true | |
type: string | |
description: The URL for the application's website | |
reason_for_access: | |
nullable: true | |
type: string | |
description: A string provided by the connected app stating why they use their respective enabled products. | |
required: | |
- application_id | |
- created_at | |
- name | |
- logo_url | |
- application_url | |
- reason_for_access | |
ApplicationGetRequest: | |
description: ApplicationGetResponse defines the schema for `/application/get` | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
application_id: | |
$ref: "#/components/schemas/ApplicationID" | |
required: | |
- client_id | |
- secret | |
- application_id | |
ApplicationGetResponse: | |
description: The request ID associated with this call. | |
type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
application: | |
$ref: "#/components/schemas/Application" | |
required: | |
- request_id | |
- application | |
ProductAccess: | |
description: The product access being requested. Used to or disallow product access across all accounts. If unset, defaults to all products allowed. | |
type: object | |
additionalProperties: true | |
properties: | |
statements: | |
description: Allow access to statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
identity: | |
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`. | |
type: boolean | |
nullable: true | |
default: true | |
auth: | |
description: Allow access to account number details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
transactions: | |
description: Allow access to transaction details. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
AccountAccess: | |
description: Allow or disallow product access by account. Unlisted (e.g. missing) accounts will be considered `new_accounts`. | |
type: object | |
properties: | |
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 | |
authorized: | |
description: Allow the application to see this account (and associated details, including balance) in the list of accounts If unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
account_product_access: | |
$ref: "#/components/schemas/AccountProductAccessNullable" | |
required: | |
- unique_id | |
AccountProductAccessNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/AccountProductAccess" | |
- type: object | |
additionalProperties: true | |
AccountProductAccess: | |
description: Allow the application to access specific products on this account | |
type: object | |
properties: | |
account_data: | |
description: Allow the application to access account data. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
statements: | |
description: Allow the application to access bank statements. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
tax_documents: | |
description: Allow the application to access tax documents. Only used by certain partners. If relevant to the partner and unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
ScopesNullable: | |
nullable: true | |
allOf: | |
- $ref: "#/components/schemas/Scopes" | |
- type: object | |
additionalProperties: true | |
Scopes: | |
description: The scopes object | |
type: object | |
properties: | |
product_access: | |
$ref: "#/components/schemas/ProductAccess" | |
accounts: | |
type: array | |
items: | |
$ref: "#/components/schemas/AccountAccess" | |
new_accounts: | |
description: Allow access to newly opened accounts as they are opened. If unset, defaults to `true`. | |
type: boolean | |
nullable: true | |
default: true | |
RequestedScopes: | |
type: object | |
description: Scope of required and optional account features or content from a ConnectedApplication. | |
properties: | |
required_product_access: | |
$ref: "#/components/schemas/ProductAccess" | |
optional_product_access: | |
$ref: "#/components/schemas/ProductAccess" | |
account_filters: | |
$ref: "#/components/schemas/AccountFilter" | |
account_selection_cardinality: | |
$ref: "#/components/schemas/AccountSelectionCardinality" | |
required: | |
- required_product_access | |
- optional_product_access | |
- account_selection_cardinality | |
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 | |
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`. | |
type: string | |
enum: | |
- ENROLLMENT | |
- PORTAL | |
ItemApplicationScopesUpdateRequest: | |
description: ItemApplicationScopesUpdateRequest defines the request schema for `/item/application/scopes/update` | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
application_id: | |
$ref: "#/components/schemas/ApplicationID" | |
scopes: | |
$ref: "#/components/schemas/Scopes" | |
state: | |
$ref: "#/components/schemas/ScopesState" | |
context: | |
$ref: "#/components/schemas/ScopesContext" | |
required: | |
- application_id | |
- access_token | |
- scopes | |
- context | |
ItemApplicationScopesUpdateResponse: | |
description: ItemApplicationScopesUpdateResponse defines the response schema for `/item/application/scopes/update` | |
type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
ItemApplicationListRequest: | |
description: Request to list connected applications for a user. | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessTokenNullable" | |
ItemApplicationListResponse: | |
description: Describes the connected application for a particular end user. | |
type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
applications: | |
type: array | |
description: A list of connected applications. | |
items: | |
$ref: "#/components/schemas/ConnectedApplication" | |
required: | |
- applications | |
ConnectedApplication: | |
description: Describes the connected application for a particular end user. | |
type: object | |
properties: | |
application_id: | |
$ref: "#/components/schemas/ApplicationID" | |
name: | |
type: string | |
description: The name of the application | |
logo: | |
nullable: true | |
type: string | |
description: A URL that links to the application logo image (will be deprecated in the future, please use logo_url). | |
deprecated: true | |
logo_url: | |
nullable: true | |
type: string | |
description: A URL that links to the application logo image. | |
application_url: | |
nullable: true | |
type: string | |
description: The URL for the application's website | |
reason_for_access: | |
nullable: true | |
type: string | |
description: A string provided by the connected app stating why they use their respective enabled products. | |
created_at: | |
type: string | |
format: date | |
description: The date this application was linked in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) (YYYY-MM-DD) format in UTC. | |
example: "2020-01-01" | |
product_data_types: | |
type: array | |
description: (Deprecated) A list of enums representing the data collected and products enabled for this connected application. | |
items: | |
type: string | |
enum: | |
- ACCOUNT_BALANCE | |
- ACCOUNT_USER_INFO | |
- ACCOUNT_TRANSACTIONS | |
scopes: | |
$ref: "#/components/schemas/ScopesNullable" | |
requested_scopes: | |
$ref: "#/components/schemas/RequestedScopes" | |
required: | |
- application_id | |
- name | |
- created_at | |
- logo | |
- logo_url | |
- application_url | |
- reason_for_access | |
- product_data_types | |
AccountSelectionCardinality: | |
type: string | |
description: |- | |
The application requires that accounts be limited to a specific cardinality. | |
`MULTI_SELECT`: indicates that the user should be allowed to pick multiple accounts. | |
`SINGLE_SELECT`: indicates that the user should be allowed to pick only a single account. | |
`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 | |
AccountFilter: | |
type: object | |
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: | |
depository: | |
$ref: "#/components/schemas/AccountFilterSubtypes" | |
credit: | |
$ref: "#/components/schemas/AccountFilterSubtypes" | |
loan: | |
$ref: "#/components/schemas/AccountFilterSubtypes" | |
investment: | |
$ref: "#/components/schemas/AccountFilterSubtypes" | |
AccountFilterSubtypes: | |
type: array | |
description: A list of account subtypes to be filtered. | |
items: | |
type: string | |
description: List of account subtypes. | |
SandboxIncomeFireWebhookRequest: | |
title: SandboxIncomeFireWebhookRequest | |
type: object | |
description: SandboxIncomeFireWebhookRequest defines the request schema for `/sandbox/income/fire_webhook` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
income_verification_id: | |
type: string | |
description: The ID of the verification. | |
item_id: | |
type: string | |
description: The Item ID associated with the verification. | |
webhook: | |
type: string | |
description: The URL to which the webhook should be sent. | |
verification_status: | |
type: string | |
enum: | |
- VERIFICATION_STATUS_PROCESSING_COMPLETE | |
- VERIFICATION_STATUS_PROCESSING_FAILED | |
- VERIFICATION_STATUS_PENDING_APPROVAL | |
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 `/paystubs/get` endpoint and check the document metadata to see which documents were successfully parsed. | |
`VERIFICATION_STATUS_PROCESSING_FAILED`: A failure occurred when attempting to process the verification documentation. | |
`VERIFICATION_STATUS_PENDING_APPROVAL`: The income verification has been sent to the user for review. | |
required: | |
- income_verification_id | |
- item_id | |
- webhook | |
- verification_status | |
SandboxIncomeFireWebhookResponse: | |
title: SandboxIncomeFireWebhookResponse | |
type: object | |
description: SandboxIncomeFireWebhookResponse defines the response schema for `/sandbox/income/fire_webhook` | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
ItemApplicationListUserAuth: | |
type: object | |
nullable: true | |
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. | |
properties: | |
user_id: | |
nullable: true | |
type: string | |
description: Account username. | |
fi_username_hash: | |
nullable: true | |
type: string | |
description: Account username hashed by FI. | |
SignalEvaluateRequest: | |
title: SignalEvaluateRequest | |
description: SignalEvaluateRequest defines the request schema for `/signal/evaluate` | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
access_token: | |
$ref: "#/components/schemas/AccessToken" | |
account_id: | |
type: string | |
description: The `account_id` of the account whose verification status is to be modified | |
client_transaction_id: | |
type: string | |
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. | |
minLength: 1 | |
maxLength: 36 | |
amount: | |
type: number | |
description: The transaction amount, in USD (e.g. `102.05`) | |
user_present: | |
type: boolean | |
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 | |
client_user_id: | |
type: string | |
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. | |
maxLength: 36 | |
user: | |
$ref: "#/components/schemas/SignalUser" | |
device: | |
$ref: "#/components/schemas/SignalDevice" | |
required: | |
- access_token | |
- account_id | |
- client_transaction_id | |
- amount | |
SignalUser: | |
title: SignalUser | |
type: object | |
description: Details about the end user initiating the transaction (i.e., the account holder). | |
properties: | |
name: | |
$ref: "#/components/schemas/SignalPersonName" | |
phone_number: | |
type: string | |
description: 'The user''s phone number, in E.164 format: +{countrycode}{number}. For example: "+14151234567"' | |
nullable: true | |
email_address: | |
type: string | |
description: The user's email address. | |
nullable: true | |
address: | |
$ref: "#/components/schemas/SignalAddressData" | |
SignalPersonName: | |
title: SignalPersonName | |
type: object | |
description: The user's legal name | |
nullable: true | |
properties: | |
prefix: | |
type: string | |
description: The user's name prefix (e.g. "Mr.") | |
nullable: true | |
given_name: | |
type: string | |
description: The user's given name. If the user has a one-word name, it should be provided in this field. | |
nullable: true | |
middle_name: | |
type: string | |
description: The user's middle name | |
nullable: true | |
family_name: | |
type: string | |
description: The user's family name / surname | |
nullable: true | |
suffix: | |
type: string | |
description: The user's name suffix (e.g. "II") | |
nullable: true | |
SignalAddressData: | |
title: AddressData | |
type: object | |
nullable: true | |
additionalProperties: true | |
description: Data about the components comprising an address. | |
properties: | |
city: | |
type: string | |
description: The full city name | |
region: | |
type: string | |
description: |- | |
The region or state | |
Example: `"NC"` | |
nullable: true | |
street: | |
type: string | |
description: |- | |
The full street address | |
Example: `"564 Main Street, APT 15"` | |
postal_code: | |
type: string | |
description: The postal code | |
nullable: true | |
country: | |
type: string | |
description: The ISO 3166-1 alpha-2 country code | |
nullable: true | |
SignalDevice: | |
title: SignalEvaluateDevice | |
type: object | |
description: Details about the end user's device | |
properties: | |
ip_address: | |
type: string | |
description: The IP address of the device that initiated the transaction | |
nullable: true | |
user_agent: | |
type: string | |
description: The user agent of the device that initiated the transaction (e.g. "Mozilla/5.0") | |
nullable: true | |
SignalEvaluateResponse: | |
title: SignalEvaluateResponse | |
description: SignalEvaluateResponse defines the response schema for `/signal/income/evaluate` | |
type: object | |
additionalProperties: true | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
scores: | |
$ref: "#/components/schemas/SignalScores" | |
core_attributes: | |
$ref: "#/components/schemas/SignalEvaluateCoreAttributes" | |
required: | |
- request_id | |
- scores | |
SignalScores: | |
title: SignalEvaluateScores | |
description: Risk scoring details broken down by risk category. | |
type: object | |
additionalProperties: true | |
properties: | |
customer_initiated_return_risk: | |
$ref: "#/components/schemas/CustomerInitiatedReturnRisk" | |
bank_initiated_return_risk: | |
$ref: "#/components/schemas/BankInitiatedReturnRisk" | |
SignalScore: | |
description: "A score from 0-99 that indicates the transaction return risk: a higher risk score suggests a higher return likelihood." | |
type: integer | |
minimum: 0 | |
maximum: 100 | |
CustomerInitiatedRiskTier: | |
description: | | |
A tier corresponding to the projected likelihood that the transaction, if initiated, will be subject to a return. | |
In the `customer_initiated_return_risk` object, there are five risk tiers corresponding to the scores: | |
1: Predicted customer-initiated return incidence rate between 0.00% - 0.02% | |
2: Predicted customer-initiated return incidence rate between 0.02% - 0.05% | |
3: Predicted customer-initiated return incidence rate between 0.05% - 0.1% | |
4: Predicted customer-initiated return incidence rate between 0.1% - 0.5% | |
5: Predicted customer-initiated return incidence rate greater than 0.5% | |
type: integer | |
minimum: 1 | |
maximum: 5 | |
CustomerInitiatedReturnRisk: | |
title: CustomerInitiatedReturnRisk | |
type: object | |
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: | |
score: | |
$ref: "#/components/schemas/SignalScore" | |
risk_tier: | |
$ref: "#/components/schemas/CustomerInitiatedRiskTier" | |
required: | |
- risk_tier | |
- score | |
BankInitiatedRiskTier: | |
description: | | |
In the `bank_initiated_return_risk` object, there are eight risk tiers corresponding to the scores: | |
1: Predicted bank-initiated return incidence rate between 0.0% - 0.5% | |
2: Predicted bank-initiated return incidence rate between 0.5% - 1.5% | |
3: Predicted bank-initiated return incidence rate between 1.5% - 3% | |
4: Predicted bank-initiated return incidence rate between 3% - 5% | |
5: Predicted bank-initiated return incidence rate between 5% - 10% | |
6: Predicted bank-initiated return incidence rate between 10% - 15% | |
7: Predicted bank-initiated return incidence rate between 15% and 50% | |
8: Predicted bank-initiated return incidence rate greater than 50% | |
type: integer | |
minimum: 1 | |
maximum: 8 | |
BankInitiatedReturnRisk: | |
title: BankInitiatedReturnRisk | |
type: object | |
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: | |
score: | |
$ref: "#/components/schemas/SignalScore" | |
risk_tier: | |
$ref: "#/components/schemas/BankInitiatedRiskTier" | |
required: | |
- risk_tier | |
- score | |
SignalEvaluateCoreAttributes: | |
title: SignalEvaluateCoreAttributes | |
type: object | |
description: |- | |
The core attributes object contains additional data that can be used to assess the ACH return risk. Examples of data include: | |
`days_since_first_plaid_connection`: The number of days since the first time the Item was connected to an application via Plaid | |
`plaid_connections_count_7d`: The number of times the Item has been connected to applications via Plaid over the past 7 days | |
`plaid_connections_count_30d`: The number of times the Item has been connected to applications via Plaid over the past 30 days | |
`total_plaid_connections_count`: The number of times the Item has been connected to applications via Plaid | |
`is_savings_or_money_market_account`: Indicates whether the ACH transaction funding account is a savings/money market account | |
For 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: | |
unauthorized_transactions_count_7d: | |
type: integer | |
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. | |
unauthorized_transactions_count_30d: | |
type: integer | |
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. | |
unauthorized_transactions_count_60d: | |
type: integer | |
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. | |
unauthorized_transactions_count_90d: | |
type: integer | |
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. | |
nsf_overdraft_transactions_count_7d: | |
type: integer | |
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. | |
nsf_overdraft_transactions_count_30d: | |
type: integer | |
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. | |
nsf_overdraft_transactions_count_60d: | |
type: integer | |
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. | |
nsf_overdraft_transactions_count_90d: | |
type: integer | |
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. | |
days_since_first_plaid_connection: | |
type: integer | |
description: The number of days since the first time the Item was connected to an application via Plaid | |
nullable: true | |
plaid_connections_count_7d: | |
type: integer | |
description: The number of times the Item has been connected to applications via Plaid over the past 7 days | |
nullable: true | |
plaid_connections_count_30d: | |
type: integer | |
description: The number of times the Item has been connected to applications via Plaid over the past 30 days | |
nullable: true | |
total_plaid_connections_count: | |
type: integer | |
description: The total number of times the Item has been connected to applications via Plaid | |
nullable: true | |
is_savings_or_money_market_account: | |
type: boolean | |
description: Indicates if the ACH transaction funding account is a savings/money market account | |
total_credit_transactions_amount_10d: | |
type: number | |
description: The total credit (inflow) transaction amount over the past 10 days from the account that will be debited | |
total_debit_transactions_amount_10d: | |
type: number | |
description: The total debit (outflow) transaction amount over the past 10 days from the account that will be debited | |
p50_credit_transactions_amount_28d: | |
type: number | |
description: The 50th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited | |
nullable: true | |
p50_debit_transactions_amount_28d: | |
type: number | |
description: The 50th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited | |
nullable: true | |
p95_credit_transactions_amount_28d: | |
type: number | |
description: The 95th percentile of all credit (inflow) transaction amounts over the past 28 days from the account that will be debited | |
nullable: true | |
p95_debit_transactions_amount_28d: | |
type: number | |
description: The 95th percentile of all debit (outflow) transaction amounts over the past 28 days from the account that will be debited | |
nullable: true | |
days_with_negative_balance_count_90d: | |
type: integer | |
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 | |
p90_eod_balance_30d: | |
type: number | |
description: The 90th percentile of the end-of-day available balance over the past 30 days of the account that will be debited | |
nullable: true | |
p90_eod_balance_60d: | |
type: number | |
description: The 90th percentile of the end-of-day available balance over the past 60 days of the account that will be debited | |
nullable: true | |
p90_eod_balance_90d: | |
type: number | |
description: The 90th percentile of the end-of-day available balance over the past 90 days of the account that will be debited | |
nullable: true | |
p10_eod_balance_30d: | |
type: number | |
description: The 10th percentile of the end-of-day available balance over the past 30 days of the account that will be debited | |
nullable: true | |
p10_eod_balance_60d: | |
type: number | |
description: The 10th percentile of the end-of-day available balance over the past 60 days of the account that will be debited | |
nullable: true | |
p10_eod_balance_90d: | |
type: number | |
description: The 10th percentile of the end-of-day available balance over the past 90 days of the account that will be debited | |
nullable: true | |
available_balance: | |
type: number | |
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. | |
nullable: true | |
current_balance: | |
type: number | |
description: Current balance, as of the `balance_last_updated` time. The current balance is the total amount of funds in the account. | |
nullable: true | |
balance_last_updated: | |
type: string | |
format: date-time | |
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. | |
nullable: true | |
phone_change_count_28d: | |
type: integer | |
description: The number of times the account's phone numbers on file have changed over the past 28 days | |
nullable: true | |
phone_change_count_90d: | |
type: integer | |
description: The number of times the account's phone numbers on file have changed over the past 90 days | |
nullable: true | |
email_change_count_28d: | |
type: integer | |
description: The number of times the account's email addresses on file have changed over the past 28 days | |
nullable: true | |
email_change_count_90d: | |
type: integer | |
description: The number of times the account's email addresses on file have changed over the past 90 days | |
nullable: true | |
address_change_count_28d: | |
type: integer | |
description: The number of times the account's addresses on file have changed over the past 28 days | |
nullable: true | |
address_change_count_90d: | |
type: integer | |
description: The number of times the account's addresses on file have changed over the past 90 days | |
nullable: true | |
SignalDecisionReportRequest: | |
title: SignalDecisionReportRequest | |
description: SignalDecisionReportRequest defines the request schema for `/signal/decision/report` | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
client_transaction_id: | |
type: string | |
description: Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate` | |
minLength: 1 | |
maxLength: 36 | |
initiated: | |
type: boolean | |
description: "`true` if the ACH transaction was initiated, `false` otherwise." | |
days_funds_on_hold: | |
type: integer | |
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. For 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 | |
required: | |
- client_transaction_id | |
- initiated | |
SignalDecisionReportResponse: | |
title: SignalDecisionReportResponse | |
description: SignalDecisionReportResponse defines the response schema for `/signal/decision/report` | |
additionalProperties: true | |
type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
SignalReturnReportRequest: | |
title: SignalReturnReportRequest | |
description: SignalReturnReportRequest defines the request schema for `/signal/return/report` | |
type: object | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
client_transaction_id: | |
type: string | |
description: Must be the same as the `client_transaction_id` supplied when calling `/signal/evaluate` | |
minLength: 1 | |
maxLength: 36 | |
return_code: | |
type: string | |
description: Must be a valid ACH return code (e.g. "R01") | |
required: | |
- client_transaction_id | |
- return_code | |
SignalReturnReportResponse: | |
title: SignalReturnReportResponse | |
description: SignalReturnReportResponse defines the response schema for `/signal/return/report` | |
additionalProperties: true | |
type: object | |
properties: | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- request_id | |
SandboxOauthSelectAccountsRequest: | |
title: SandboxOauthSelectAccountsRequest | |
type: object | |
description: Defines the request schema for `sandbox/oauth/select_accounts` | |
properties: | |
oauth_state_id: | |
type: string | |
accounts: | |
type: array | |
items: | |
type: string | |
required: | |
- oauth_state_id | |
- accounts | |
SandboxOauthSelectAccountsResponse: | |
title: SandboxOauthSelectAccountsResponse | |
type: object | |
description: Defines the response schema for `/sandbox/oauth/select_accounts` | |
NewAccountsAvailableWebhook: | |
title: NewAccountsAvailableWebhook | |
type: object | |
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). | |
x-examples: | |
example-1: | |
webhook_type: ITEM | |
webhook_code: NEW_ACCOUNTS_AVAILABLE | |
item_id: gAXlMgVEw5uEGoQnnXZ6tn9E7Mn3LBc4PJVKZ | |
error: null | |
properties: | |
webhook_type: | |
type: string | |
description: "`ITEM`" | |
webhook_code: | |
type: string | |
description: "`NEW_ACCOUNTS_AVAILABLE`" | |
item_id: | |
$ref: "#/components/schemas/ItemId" | |
error: | |
$ref: "#/components/schemas/PlaidError" | |
WalletGetRequest: | |
type: object | |
description: WalletGetRequest defines the request schema for `/wallet/get` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
wallet_id: | |
type: string | |
description: The ID of the e-wallet | |
minLength: 1 | |
required: | |
- wallet_id | |
WalletGetResponse: | |
type: object | |
additionalProperties: true | |
description: WalletGetResponse defines the response schema for `/wallet/get` | |
properties: | |
wallet_id: | |
type: string | |
description: A unique ID identifying the e-wallet | |
balance: | |
$ref: "#/components/schemas/WalletBalance" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- wallet_id | |
- balance | |
- request_id | |
WalletBalance: | |
title: WalletBalance | |
type: object | |
additionalProperties: true | |
nullable: true | |
description: An object representing the e-wallet balance | |
properties: | |
iso_currency_code: | |
type: string | |
description: The ISO-4217 currency code of the balance | |
current: | |
type: number | |
description: The total amount of funds in the account | |
required: | |
- iso_currency_code | |
- current | |
WalletTransactionExecuteRequest: | |
type: object | |
description: WalletTransactionExecuteRequest defines the request schema for `/wallet/transaction/execute` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
idempotency_key: | |
$ref: "#/components/schemas/WalletTransactionIdempotencyKey" | |
wallet_id: | |
type: string | |
description: The ID of the e-wallet to debit from | |
minLength: 1 | |
counterparty: | |
$ref: "#/components/schemas/WalletTransactionCounterparty" | |
amount: | |
$ref: "#/components/schemas/WalletTransactionAmount" | |
reference: | |
type: string | |
maxLength: 18 | |
minLength: 1 | |
description: A reference for the transaction. This must be an alphanumeric string with at most 18 characters and must not contain any special characters or spaces. | |
required: | |
- idempotency_key | |
- wallet_id | |
- counterparty | |
- amount | |
- reference | |
WalletTransactionIdempotencyKey: | |
title: WalletTransactionIdempotencyKey | |
type: string | |
maxLength: 128 | |
minLength: 1 | |
description: |- | |
A random key provided by the client, per unique wallet transaction. Maximum of 128 characters. | |
The 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. | |
WalletTransactionCounterparty: | |
title: WalletTransactionCounterparty | |
type: object | |
additionalProperties: true | |
description: An object representing the e-wallet transaction's counterparty | |
properties: | |
name: | |
type: string | |
description: The name of the counterparty | |
minLength: 1 | |
numbers: | |
$ref: "#/components/schemas/WalletTransactionCounterpartyNumbers" | |
required: | |
- name | |
- numbers | |
WalletTransactionCounterpartyNumbers: | |
title: WalletTransactionCounterpartyNumbers | |
type: object | |
description: The counterparty's bank account numbers | |
properties: | |
bacs: | |
$ref: "#/components/schemas/WalletTransactionCounterpartyBACS" | |
required: | |
- bacs | |
WalletTransactionCounterpartyBACS: | |
allOf: | |
- $ref: "#/components/schemas/RecipientBACS" | |
- type: object | |
additionalProperties: true | |
description: The account number and sort code of the counterparty's account | |
WalletTransactionAmount: | |
title: WalletTransactionAmount | |
type: object | |
additionalProperties: true | |
properties: | |
iso_currency_code: | |
type: string | |
enum: | |
- GBP | |
description: The ISO-4217 currency code of the transaction. Currently, only `"GBP"` is supported. | |
minLength: 3 | |
maxLength: 3 | |
value: | |
type: number | |
minimum: 1 | |
description: The amount of the transaction. Must contain at most two digits of precision e.g. `1.23`. | |
required: | |
- iso_currency_code | |
- value | |
description: The amount and currency of a transaction | |
WalletTransactionExecuteResponse: | |
type: object | |
additionalProperties: true | |
description: WalletTransactionExecuteResponse defines the response schema for `/wallet/transaction/execute` | |
properties: | |
transaction_id: | |
type: string | |
description: A unique ID identifying the transaction | |
status: | |
$ref: "#/components/schemas/WalletTransactionStatus" | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transaction_id | |
- status | |
- request_id | |
WalletTransactionStatus: | |
type: string | |
enum: | |
- INITIATED | |
- EXECUTED | |
- BLOCKED | |
- FAILED | |
description: |- | |
The status of the transaction. | |
`INITIATED`: This is the initial state of all transactions. It indicates that the transaction has been initiated and is currently being processed. | |
`EXECUTED`: The transaction has been successfully executed. | |
`FAILED`: The transaction failed to process successfully. This is a terminal status. | |
`BLOCKED`: The transaction has been blocked for violating compliance rules. This is a terminal status. | |
WalletTransactionsListRequest: | |
type: object | |
description: WalletTransactionsListRequest defines the request schema for `/wallet/transactions/list` | |
properties: | |
client_id: | |
$ref: "#/components/schemas/APIClientID" | |
secret: | |
$ref: "#/components/schemas/APISecret" | |
wallet_id: | |
type: string | |
description: The ID of the e-wallet to fetch transactions from | |
minLength: 1 | |
cursor: | |
type: string | |
maxLength: 256 | |
description: A base64 value representing the latest transaction that has already been requested. Set this to `next_cursor` received from the previous `/wallet/transactions/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. | |
count: | |
type: integer | |
description: The number of transactions to fetch | |
minimum: 1 | |
maximum: 200 | |
default: 10 | |
required: | |
- wallet_id | |
WalletTransactionsListResponse: | |
type: object | |
additionalProperties: true | |
description: WalletTransactionsListResponse defines the response schema for `/wallet/transactions/list` | |
properties: | |
transactions: | |
type: array | |
description: An array of transactions of an e-wallet, associated with the given `wallet_id` | |
items: | |
$ref: "#/components/schemas/WalletTransaction" | |
next_cursor: | |
type: string | |
description: Cursor used for fetching transactions created before the latest transaction provided in this response | |
request_id: | |
$ref: "#/components/schemas/RequestID" | |
required: | |
- transactions | |
- request_id | |
WalletTransaction: | |
title: WalletTransaction | |
type: object | |
additionalProperties: true | |
properties: | |
transaction_id: | |
type: string | |
description: A unique ID identifying the transaction | |
reference: | |
type: string | |
description: A reference for the transaction | |
type: | |
type: string | |
enum: | |
- PAYOUT | |
description: The type of of the transaction. Currently, only `"PAYOUT"` is supported. | |
amount: | |
$ref: "#/components/schemas/WalletTransactionAmount" | |
counterparty: | |
$ref: "#/components/schemas/WalletTransactionCounterparty" | |
status: | |
$ref: "#/components/schemas/WalletTransactionStatus" | |
created_at: | |
type: string | |
description: Timestamp when the transaction was created, in [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format. | |
format: date-time | |
required: | |
- transaction_id | |
- reference | |
- type | |
- amount | |
- counterparty | |
- status | |
- created_at | |
description: The transaction details |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment