Core Exchange v6.1 API Reference
Plaid Core Exchange API Reference
Overview
When your organization builds Core Exchange, you implement a Financial Data Exchange (FDX)-aligned API. This API handles GET HTTP requests that the Plaid network (or other data networks that you partner with) send. These requests are for information about your customers' financial accounts. Please note that this specification is subject to change as we make improvements to the product. If you have questions, please reach out to the Plaid team.
Endpoints
This specification contains the following endpoints:
| Endpoints | |
|---|---|
/customers/current | Get the ID of the customer within the authorization scope |
/accounts | Search and view customer accounts |
/accounts/{accountId} | Get account balances, liabilities, and other information |
/accounts/{accountId}/asset-transfer-networks | Get asset transfer networks supported by an account |
/accounts/{accountId}/contact | Get account contact information |
/accounts/{accountId}/payment-networks | Get payment networks supported by an account |
/accounts/{accountId}/statements | Get account statements |
/accounts/{accountId}/statements/{statementId} | Get account statement PDF |
/accounts/{accountId}/transactions | List all account transactions |
Plaid integration and interoperability
The Core Exchange specifications describe the subset of FDX endpoints required by Plaid, as well as the subset of FDX information Plaid consumes from each endpoint. Plaid takes the following approach to documenting these subsets:
ENUMS: In cases where an endpoint describes FDX enums that Plaid doesn't consume, the specifications note the enums Plaid consumes, but refrains from removing unused enums. This enables your organization to more easily integrate your Core Exchange implementation with other data networks. For example, FDX defines many account type enums, so the specifications retain these enums but note which account type enums Plaid consumes in the
GET /accounts/{id}endpoint reference.SCHEMAS: In cases where an endpoint describes FDX schemas that Plaid doesn't consume, the specification omits the schema.
FDX compliance
The Core Exchange API specifications are a subset of the Financial Data Exchange (FDX) API specification, the usage thereof (or any part thereof) constitutes acceptance of the FDX API License Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or conditional elements prescribed in the FDX API Certification Use Cases will render any implementations using said modifications non-conformant with the FDX API Certification Use Cases. Please note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of the FDX end user license agreement, which can be found at https://financialdataexchange.org/. The full FDX API standard specification is distributed exclusively by FDX.
Download the specification
To view this specification and documentation as an OpenAPI YAML file, see the public Core Exchange Github repository.
Errors
Error responses
An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account.
Error responses must contain a code and message, and may optionally include a debugMessage.
See the descriptions below:
code: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information. (Note: This code may differ from the HTTP status code.)message: End user displayable information which might help the customer diagnose an errordebugMessage: Message used to debug the root cause of the error. Contents should not be used in consumer's business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use
Example error
The following is an example response with an HTTP status code of 409.
{
"code": 705,
"message": "Account is closed",
"debugMessage": "Operation is not supported by the closed account"
}See the Errors table in each endpoint description for more specific message and debug message examples.
Endpoints
/customers/current
Get current authenticated customer ID
Get the ID of the customer within the authorization scope. If you use OIDC authentication (recommended) you do not need to implement this endpoint. Plaid will identify the customer using the OIDC ID token. If you use OAuth2 authentication, Plaid will use this endpoint as an alternate method of customer identification.
Request fields
curl -X GET 'https://api.your-org.com/fdx/v5/customers/current' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Response fields
Long-term persistent identity of the customer. This identity must be unique within your organization. Plaid consumes this customer ID if your organization uses OAuth2 instead of OIDC to secure the API. Plaid expects your organization to issue the ID as a consistent, static, opaque, unique identifier for the user
256 {
"customerId": "someLongTermUniqueIDString"
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 404 | 601 | Customer not found | A customer with the provided customer ID could not be found |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts
List all accounts
Search and view customer accounts.
Request fields
An opaque ID that indicates there is at least one more page of data available. This value does not need to be numeric or have any specific pattern. If provided, Plaid will use this value to send a new request and retrieve the next page. Omitting this value indicates that there is no more data to retrieve.
queryThe number of elements that the API consumer wishes to receive. Plaid has a default limit of 100 elements. If your organization has a different limit, use the lower limit to determine how many items to send per page. To retrieve multiple pages, Plaid will use the opaque nextOffset field to send a subsequent request until the nextOffset is no longer included.
querycurl -X GET 'https://api.your-org.com/fdx/v5/accounts?offset=15&limit=50' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Response fields
Contains the opaque identifier, nextOffset, to indicate a paginated result set.
Opaque offset identifier
Total number of elements
An optionally paginated array of account descriptors. Each account descriptor is sent as a key-value pair, with the account descriptor object as the value and the account type as the key. Accepted keys include: annuityAccount, commercialAccount, depositAccount, investmentAccount, locAccount, loanAccount, and insuranceAccount.
1 {
"page": {
"nextOffset": "B47D80MVP23T"
},
"accounts": [
{
"accountCategory": "DEPOSIT_ACCOUNT",
"accountId": "depositAccount0000001",
"accountType": "CHECKING",
"accountNumberDisplay": "5820",
"productName": "Checking",
"nickname": "Main Checking",
"status": "OPEN",
"currency": {
"currencyCode": "USD"
}
},
{
"accountCategory": "LOAN_ACCOUNT",
"accountId": "loanAccount0000001",
"accountType": "LOAN",
"accountNumberDisplay": "4704",
"productName": "Loan",
"nickname": "Primary Loan",
"status": "OPEN",
"currency": {
"currencyCode": "USD"
}
},
{
"accountCategory": "LOC_ACCOUNT",
"accountId": "locAccount0000001",
"accountType": "LINEOFCREDIT",
"accountNumberDisplay": "8200",
"productName": "Line of Credit",
"nickname": "First plaidypus LOC",
"status": "OPEN",
"currency": {
"currencyCode": "USD"
}
},
{
"accountCategory": "INVESTMENT_ACCOUNT",
"accountId": "investmentAccount0000001",
"accountType": "TAXABLE",
"accountNumberDisplay": "1050",
"productName": "Brokerage Account",
"nickname": "First plaidypus Brokerage",
"status": "OPEN",
"currency": {
"currencyCode": "USD"
}
}
]
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 404 | 601 | Customer not found | A customer with the provided customer ID could not be found |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}
Get detailed information for a specific account
Get account balances, liabilities, and other information. Plaid calls this endpoint for deposit, investment, loan, and line of credit accounts. Plaid uses this endpoint to get balances for deposit accounts, get liabilities for STUDENTLOAN, MORTGAGE, and CREDITCARD loan accounts, and get balances and holdings for investment accounts.
See Plaid Balance API, Plaid Liabilities API, and Plaid Investments API for more information on how Plaid uses this information.
Info: Plaid does not call /accounts/{accountId} for annuity accounts, commercial accounts, or insurance accounts. These account categories are discoverable-only. The accounts appear in GET /accounts, but Plaid does not consume downstream data (balances, transactions, Auth) for these categories.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathcurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
A 200 response will return one of the following types of accounts:
Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts. Plaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, "currentBalance": 192.00.
The accountType field for deposit accounts may be set to any of the account types listed below.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
DEPOSIT_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
CHECKING, SAVINGS, CD, ESCROW, MONEYMARKET, OTHERDEPOSITThe total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions). For Plaid's full definition, see the Transactions
The money in the account available to spend (sum of all transactions, plus or minus pending transactions). For Plaid's full definition, see Transactions
{
"accountCategory": "DEPOSIT_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "SAVINGS",
"currentBalance": 1399.02,
"availableBalance": 1399.02
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 422 | 704 | Account type not supported | The account type does not support the selected action |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}/asset-transfer-networks
Get asset transfer details for this account
Get asset transfer networks supported by an account. For example, Automated Customer Account Transfer Service (ACATS). For more information about how Plaid uses this information, see the Plaid Investments Move API.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathAn opaque ID that indicates there is at least one more page of data available. This value does not need to be numeric or have any specific pattern. If provided, Plaid will use this value to send a new request and retrieve the next page. Omitting this value indicates that there is no more data to retrieve.
queryThe number of elements that the API consumer wishes to receive. Plaid has a default limit of 100 elements. If your organization has a different limit, use the lower limit to determine how many items to send per page. To retrieve multiple pages, Plaid will use the opaque nextOffset field to send a subsequent request until the nextOffset is no longer included.
querycurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}/asset-transfer-networks?limit=25' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Response fields
A paginated array of asset transfer networks for the account
The number used to identify the account within the asset transfer network. If identifierType is ACCOUNT_NUMBER, this is the account number; if identifierType is TOKENIZED_ACCOUNT_NUMBER, this is a tokenized account number
The type of identifier used to identify the account in the payment network
ACCOUNT_NUMBER, TOKENIZED_ACCOUNT_NUMBERThe name of the institution holding the account
Institution identifier used by the asset transfer network, e.g., the Depository Trust and Clearing Corporation code for the institution holding the account
The type of asset transfer
CA_ATON, US_ACATS, US_DTCWhether this account has joint owners
{
"assetTransferNetworks": [
{
"identifier": "23348817826",
"identifierType": "ACCOUNT_NUMBER",
"institutionName": "First Plaidypus Bank",
"institutionId": "FPB",
"type": "US_ACATS",
"jointAccount": true
}
]
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}/contact
Get an account's contact information
Get contact information on the account. Plaid links contact information to accounts, rather than to users. Plaid consumes multiple holders and their contact information for the account, but doesn't attempt to correlate holders to their respective contact information. For more information about Plaid's identity model, see Plaid Identity API.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathcurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}/contact' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Details used to verify an account
Properties
Owners of the account. Note that while the FDX specification enables associating holders and their contact information in the full AccountHolder schema, Plaid doesn't consume these associations. Instead, Plaid consumes limited information for each AccountHolder and doesn't associate contact information such as emails, addresses, or telephone numbers to account holders. For more information about Plaid's data model for account contact information, see Identity
1 The name of an individual in their role as a customer. Plaid expects at least one populated name field. If any field is missing (for example, no first name), then you respond with an empty string for that field
First name
Middle name
Last name
Generational or academic suffix, e.g. Jr., Sr., III
Prefix, e.g. Mr., Mrs., Dr.
Customer's relationship to the account
AUTHORIZED_USER, BUSINESS, FOR_BENEFIT_OF, FOR_BENEFIT_OF_PRIMARY, FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED, FOR_BENEFIT_OF_SECONDARY, FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED, FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED, POWER_OF_ATTORNEY, PRIMARY, PRIMARY_BORROWER, PRIMARY_JOINT, PRIMARY_JOINT_TENANTS, SECONDARY, SECONDARY_BORROWER, SECONDARY_JOINT, SECONDARY_JOINT_TENANTS, SOLE_OWNER, TRUSTEE, UNIFORM_TRANSFER_TO_MINOREmail addresses associated with the account
1 Physical mail addresses associated with the account
1 Address line 1
64 Address line 2
64 Address line 3
64 City
64 State or province
64 Postal code
10 Country code
AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZWTelephone numbers associated with the account
1 Telephone number type
HOME, BUSINESS, CELL, FAXCountry calling codes defined by ITU-T recommendations E.123 and E.164, such as '+1' for United States and Canada, see List_of_country_calling_codes
3 Telephone subscriber number defined by ITU-T recommendation E.164
15 \d+ {
"holders": [
{
"relationship": "SECONDARY",
"name": {
"first": "Ernest",
"middle": "Miller",
"last": "Hemingway",
"suffix": "IV"
}
},
{
"relationship": "PRIMARY_JOINT",
"name": {
"first": "Maya",
"last": "Angelou",
"middle": "Annie"
}
}
],
"emails": [
"ernest.m.hemingway@domain.tld",
"m.angelou@domain.tld"
],
"addresses": [
{
"line1": "1850 N Clark St",
"line2": "Apartment 103",
"city": "Chicago",
"region": "IL",
"postalCode": "60614",
"country": "US"
},
{
"line1": "2014 N Main St",
"city": "San Francisco",
"region": "CA",
"postalCode": "94105",
"country": "US"
}
],
"telephones": [
{
"type": "HOME",
"country": "1",
"number": "3127771926"
},
{
"type": "CELL",
"country": "53",
"number": "45915607"
},
{
"type": "HOME",
"country": "1",
"number": "4157771926"
}
]
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 601 | Customer not found | A customer with the provided customer ID could not be found |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 422 | 704 | Account type not supported | The account type does not support the selected action |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}/payment-networks
Get payment networks supported by the account
Get payment networks supported by an account, for example ACH (Automated Clearing House). For more information about how Plaid uses this information, see the Plaid Auth API.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathAn opaque ID that indicates there is at least one more page of data available. This value does not need to be numeric or have any specific pattern. If provided, Plaid will use this value to send a new request and retrieve the next page. Omitting this value indicates that there is no more data to retrieve.
queryThe number of elements that the API consumer wishes to receive. Plaid has a default limit of 100 elements. If your organization has a different limit, use the lower limit to determine how many items to send per page. To retrieve multiple pages, Plaid will use the opaque nextOffset field to send a subsequent request until the nextOffset is no longer included.
querycurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}/payment-networks?offset=50' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Response fields
Contains the opaque identifier, nextOffset, to indicate a paginated result set.
Opaque offset identifier
Total number of elements
Array of payment networks. Not all deposit accounts support ACH transfers. For example, a prepaid debit card account doesn't support ACH
1 Bank identifier used by the payment network. Typically the 9-digit routing transit number (RTN) associated with the account number at a US institution, or the 3-digit Institution (FID) and 5-digit Transit numbers for Canadian institutions, including leading zeroes
The number used to identify the account within the payment network.
Suggested values for Payment Network Type. US_ refers to the USA, and CA_ refers to Canada. Possible values:
- CA_ACSS: Automated Clearing House Settlement System CA_LVTS: Large-Value Transfer System US_ACH: Automated Clearing House, also called Fed ACH network (mostly small banks) US_CHIPS: Clearinghouse Interbank Payments System. Also called Clearing House ACH network (primarily big banks) US_FEDNOW: Federal Reserve Instant Payment System
US_FEDWIRE and US_RTP are not supported payment network types.CA_ACSS, CA_LVTS, US_ACH, US_CHIPS, US_FEDNOW, US_FEDWIRE, US_RTPCan transfer funds to the account using this information. Plaid expect that this value represents the account's current ability to be credited through a payment network. Plaid recommends dynamically updating this value, for example to represent if the account is locked or not.
Note: Both transferIn and transferOut must be true in order for the account to support ACH
Can transfer funds from the account using this information. Plaid expect that this value represents the account's current ability to be debited through a payment network. Plaid recommends dynamically updating this value, for example to represent if the account is locked or not.
Note: Both transferIn and transferOut must be true in order for the account to support ACH
{
"page": {
"nextOffset": "B47D80MVP23T"
},
"paymentNetworks": [
{
"bankId": "010088889",
"identifier": "1111222233335820",
"type": "US_ACH",
"transferIn": true,
"transferOut": true
}
]
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}/statements
Search for statements
Get account statements.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathAn opaque ID that indicates there is at least one more page of data available. This value does not need to be numeric or have any specific pattern. If provided, Plaid will use this value to send a new request and retrieve the next page. Omitting this value indicates that there is no more data to retrieve.
queryThe number of elements that the API consumer wishes to receive. Plaid has a default limit of 100 elements. If your organization has a different limit, use the lower limit to determine how many items to send per page. To retrieve multiple pages, Plaid will use the opaque nextOffset field to send a subsequent request until the nextOffset is no longer included.
queryStart time for use in retrieval of elements (ISO 8601). When used with the /transactions endpoint, Plaid filters by the postedTimestamp.
date 10 queryEnd time for use in retrieval of elements (ISO 8601). When used with the /transactions endpoint, Plaid filters by the postedTimestamp.
date 10 querycurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}/statements?startTime=2022-04-01&endTime=2022-04-30' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Response fields
Contains the opaque identifier, nextOffset, to indicate a paginated result set.
Opaque offset identifier
Total number of elements
An array of statements, each with its own HATEOAS link to retrieve the account statement
Corresponds to accountId in Account entity
256 Long-term persistent identity of the statement. This identity must be unique within your organization
256 The date the statement becomes available to be viewed by the user
date 10 Description of the statement
The HATEOAS links to retrieve this account statement, or to invoke other APIs. Note: Plaid only accepts one link object in this array
The resource URL
uri-reference The HTTP method to use for the request
GET, POST, PATCH, DELETE, PUTThe relation of this link to its containing entity, as defined by the IETF RFC5988
The content-types that can be used in the Accept header. Note: Plaid currently only accepts the PDF (application/pdf) content type
application/pdf, image/gif, image/jpeg, image/tiff, image/png, application/jsonAvailability status of statement
AVAILABLE, PROCESSING, FAILED{
"page": {
"nextOffset": "B47D80MVP23T",
"total": 3
},
"statements": [
{
"accountId": "10001",
"statementId": "20001",
"statementDate": "2024-01-15",
"description": "January 2024 Monthly Statement",
"links": [
{
"href": "/accounts/10001/statements/20001",
"rel": "self",
"action": "GET",
"types": [
"application/pdf"
]
},
{
"href": "/accounts/10001/statements/20001/download",
"rel": "download",
"action": "GET",
"types": [
"application/pdf"
]
}
],
"status": "AVAILABLE"
},
{
"accountId": "10001",
"statementId": "20002",
"statementDate": "2024-02-15",
"description": "February 2024 Monthly Statement",
"links": [
{
"href": "/accounts/10001/statements/20002",
"rel": "self",
"action": "GET",
"types": [
"application/pdf"
]
}
],
"status": "PROCESSING"
}
]
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 601 | Customer not found | A customer with the provided customer ID could not be found |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 422 | 704 | Account type not supported | The account type does not support the selected action |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}/statements/{statementId}
Get account statement
Get account statement PDF.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathStatement identifier, found in the GET /accounts/{accountId}/statements endpoint response
256 pathcurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}/statements/{statementId}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
A 200 response will return a raw binary PDF statement file.
Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 601 | Customer not found | A customer with the provided customer ID could not be found |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 422 | 704 | Account type not supported | The account type does not support the selected action |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
/accounts/{accountId}/transactions
Search for account transactions
List all account transactions. Plaid always queries this endpoint using a startTime and an endTime, for example, /accounts/{accountId}/transactions?startTime=2022-01-30&endTime=2022-05-30, and expects the time filters to be based on the postedTimestamp.
Plaid consumes data from this endpoint only for loan, investment, deposit, and line of credit accounts.
Request fields
Account identifier, found in the GET /accounts endpoint response. Plaid expects the ID to be a different value from the account number
Note: If the status of the accountId provided is RESTRICTED, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
256 pathAn opaque ID that indicates there is at least one more page of data available. This value does not need to be numeric or have any specific pattern. If provided, Plaid will use this value to send a new request and retrieve the next page. Omitting this value indicates that there is no more data to retrieve.
queryThe number of elements that the API consumer wishes to receive. Plaid has a default limit of 100 elements. If your organization has a different limit, use the lower limit to determine how many items to send per page. To retrieve multiple pages, Plaid will use the opaque nextOffset field to send a subsequent request until the nextOffset is no longer included.
queryStart time for use in retrieval of elements (ISO 8601). When used with the /transactions endpoint, Plaid filters by the postedTimestamp.
date 10 queryEnd time for use in retrieval of elements (ISO 8601). When used with the /transactions endpoint, Plaid filters by the postedTimestamp.
date 10 querycurl -X GET 'https://api.your-org.com/fdx/v5/accounts/{accountId}/transactions?startTime=2022-11-01&limit=100' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access_token>'200 OK
Response fields
Contains the opaque identifier, nextOffset, to indicate a paginated result set.
Opaque offset identifier
Total number of elements
An optionally paginated array of transactions. May be any of the following: deposit transaction, investment transaction, loan transaction, line of credit transaction
{
"page": {
"nextOffset": "B47D80MVP23T"
},
"transactions": [
{
"accountCategory": "DEPOSIT_ACCOUNT",
"checkNumber": 1234,
"payee": "ACME LLC",
"transactionId": "depositTransaction000000001",
"postedTimestamp": "2022-04-06T00:00:00.000Z",
"transactionTimestamp": "2022-04-05T00:00:00.000Z",
"description": "check for latest ACME invoice",
"debitCreditMemo": "DEBIT",
"status": "PENDING",
"amount": 400
},
{
"accountCategory": "DEPOSIT_ACCOUNT",
"transactionId": "depositTransaction000000002",
"postedTimestamp": "2022-04-07T00:00:00.000Z",
"transactionTimestamp": "2022-04-07T00:00:00.000Z",
"description": "reconciliation/adjustment of bank statement error",
"debitCreditMemo": "DEBIT",
"status": "POSTED",
"amount": 0.8
},
{
"accountCategory": "DEPOSIT_ACCOUNT",
"transactionId": "depositTransaction000000003",
"postedTimestamp": "2022-04-08T00:00:00.000Z",
"transactionTimestamp": "2022-04-08T00:00:00.000Z",
"description": "ATM cash deposit location #1234",
"debitCreditMemo": "CREDIT",
"status": "POSTED",
"amount": 101.8
}
]
}Error responses
| HTTP status code | FDX error code | Example message | Example debug message |
|---|---|---|---|
| 401 | 602 | Customer not authorized | Authenticated customer does not have the authorization to perform this action |
| 404 | 701 | Account not found | An account with the provided account ID could not be found |
| 409 | 705 | Account is closed | Operation is not supported by the closed account |
| 422 | 704 | Account type not supported | The account type does not support the selected action |
| 500 | 500 | Internal server error | Provider custom developer-level error details for troubleshooting |
| 500 | 501 | Subsystem unavailable | A system required to process the request was not available. Request was not processed |
| 503 | 503 | Scheduled maintenance | System is down for maintenance. Retry-After HTTP header may be used to communicate estimated time of recovery |
Data definitions
Accounts
Account objects contain full details of each account type. (Note: Account objects differ from account descriptors, which are lightweight objects that contain minimally necessary account details.) The Core Exchange API supports the following account types:
Deposit account
Full details of a deposit account. Plaid consumes the same information for all types of deposit accounts. Plaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, "currentBalance": 192.00.
The accountType field for deposit accounts may be set to any of the account types listed below.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
DEPOSIT_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
CHECKING, SAVINGS, CD, ESCROW, MONEYMARKET, OTHERDEPOSITThe total amount of money in the account (sum of all posted/cleared transactions, not including pending transactions). For Plaid's full definition, see the Transactions
The money in the account available to spend (sum of all transactions, plus or minus pending transactions). For Plaid's full definition, see Transactions
{
"accountCategory": "DEPOSIT_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "SAVINGS",
"currentBalance": 1399.02,
"availableBalance": 1399.02
}Investment account
Full details of an investment account. Plaid consumes all InvestmentAccount FDX fields for all types of investment accounts. In the holdings array, Plaid consumes fields depending on their relevancy to the holding type. See the holdings array for more information. Plaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, "currentBalance": 192.00
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
INVESTMENT_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
401A, 401K, 403B, 529, BROKERAGEPRODUCT, COVERDELL, DIGITALASSET, DEFINEDBENEFIT, DEFERREDPROFITSHARINGPLAN, ESOP, GUARDIAN, INDIVIDUALPENSIONPLAN, INSTITUTIONALTRUST, INVESTMENTACCOUNT, IRA, KEOGH, LIFEINCOMEFUND, LOCKEDINRETIREMENTACCOUNT, LOCKEDINRETIREMENTINCOMEFUND, LOCKEDINRETIREMENTSAVINGSPLAN, NONQUALIFEDPLAN, NONQUALIFIEDPLAN, OTHERINVESTMENT, PRESCRIBEDREGISTEREDRETIREMENTINCOMEFUND, REGISTEREDPENSIONPLAN, REGISTEREDDISABILITYSAVINGSPLAN, REGISTEREDEDUCATIONSAVINGSPLAN, REGISTEREDRETIREMENTINCOMEFUND, REGISTEREDRETIREMENTSAVINGSPLAN, RESTRICTEDLIFEINCOMEFUND, RESTRICTEDLOCKEDINSAVINGSPLAN, ROLLOVER, ROTH, SARSEP, SPECIFIEDPENSIONPLAN, TAXABLE, TAXFREESAVINGSACCOUNT, TDA, TRUST, TERM, UGMA, UTMA, VARIABLEANNUITYCash balance across all sub-accounts. Plaid expects that this includes sweep funds
Date and time of the balance
ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time Total current value of all investments
Holdings in the investment account. Plaid maps the holding and the investmentAccount FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see Plaid investments
Array of security identifiers
Value for a unique identifier
256 Plaid consumes solely CUSIP, ISIN, and SEDOL.
This field, along with securityId are required unless symbol is provided.
Note: If securityIdType is provided, securityId is required.
CINS, CMC, CME, CUSIP, ISIN, ITSA, NASDAQ, SEDOL, SICC, VALOR, WKNHolding name or security name
Plaid maps the holding type to the Plaid security type. Plaid expects you to return OTHER and set the holdingSubType to indicate cash-type holdings (CASH, MONEYMARKET).
ANNUITY, BOND, CD, DIGITALASSET, MUTUALFUND, OPTION, OTHER, STOCKThe subtype of an investment holding. Plaid expects you to return OTHER and set the holdingSubType to indicate cash-type holdings (CASH, MONEYMARKET).
CASH, MONEYMARKETTicker / Market symbol This field is required unless both securityId and securityIdType are provided
Price of holding at the time of purchase. Plaid determines an approximate cost basis using the purchase price and the number of units. Plaid cannot take fees into account to determine the cost basis because the FDX holding schema doesn't include fees.
Current unit price. Plaid uses this as the institution_price. Plaid falls back to using this as the close price if you don't return securityId for holdings involving securities.
Current unit price as of date ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Plaid requires this field for holdings and transactions involving securities. For security-based actions other than stock splits, quantity. Shares for stocks, mutual funds, and others. Face value for bonds. Contracts for options. Note: This field is required if the transaction involves a security.
Market value at the time of data retrieved
Required for bonds. Face value at the time of data retrieved. If this isn't present, Plaid assumes the holding isn't a bond and falls back to marketValue.
If true, indicates that this holding is used to maintain proceeds from sales, dividends, and other cash postings to the investment account. If you don't set a value for isCashEquivalent in the fiAttributes array, then Plaid uses cashAccount in determining the is_cash_equivalent status.
Currency information if it is different from Account entity
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLArray of financial institution-specific attributes. Plaid recommends including a value for is_cash_equivalent property in this array. Plaid accepts isCashEquivalent as the attribute name and a string value of true or false. If you return a value for isCashEquivalent, then return the same value for cashAccount as a boolean.
Name of the financial institution-specific attribute
Value of the financial institution-specific attribute
{
"accountCategory": "INVESTMENT_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "ROTH",
"availableCashBalance": 3209.54,
"balanceAsOf": "2021-07-15T14:46:41.375Z",
"currentValue": 34938.2,
"holdings": [
{
"securityIds": [
{
"id": "123456789",
"idType": "CUSIP"
}
],
"holdingName": "Apple Inc.",
"holdingType": "STOCK",
"holdingSubType": "CASH",
"symbol": "AAPL",
"purchasedPrice": 150,
"currentUnitPrice": 175,
"currentUnitPriceDate": "2023-10-01",
"units": 1,
"marketValue": 1750,
"cashAccount": true,
"currency": {
"currencyCode": "USD"
},
"fiAttributes": [
{
"name": "isCashEquivalent",
"value": "false"
}
]
}
]
}Loan account
Full details of a loan account. The accountType field for loan accounts may be set to any of the account types listed below.
Plaid only consumes the MORTGAGE and STUDENTLOAN types for its Liabilities API. For other loan account types Plaid consumes account details and transactions. Plaid consumes all loan account information as returned in the GET /accounts endpoint, as well as the additional information listed below:
Required for all loan accounts: principalBalance interestRate interestRateType
Optional fields for STUDENTLOAN accounts: interestPaidYearToDate lastPaymentAmount lastPaymentDate maturityDate nextPaymentDate originalPrincipal originatingDate
Required for MORTGAGE accounts: accountNumber
Optional fields for MORTGAGE accounts: escrowBalance interestPaidYearToDate lastPaymentAmount lastPaymentDate loanTerm maturityDate nextPaymentAmount nextPaymentDate originalPrincipal originatingDate
Plaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example, "escrowBalance": 192.00
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
LOAN_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
AUTOLOAN, HOMEEQUITYLOAN, INSTALLMENT, LOAN, MILITARYLOAN, MORTGAGE, PERSONALLOAN, SMBLOAN, STUDENTLOANFull account number for the end user's handle for the account at the owning institution Required for accountType 'MORTGAGE'
Principal balance
Escrow balance of loan
Original principal of loan
Date loan originated ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Term of loan in months
Amount of next payment. May differ from minimumPaymentAmount if the customer pays more than their minimum or out of cycle
Due date of next payment. May differ from statementAmountDueDate if the customer pays out of cycle ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Amount of last payment
Last payment date ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Maturity date ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Interest paid year to date
The interest rate for the account, expressed as a number between 0 and 100. For example, 4 represents 4.00%, and 7.99 represents 7.99%.
Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future
FIXED, VARIABLE{
"accountCategory": "LOAN_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "HOMEEQUITYLOAN",
"accountNumber": "loanAccount0000001",
"principalBalance": 580303.95,
"escrowBalance": 3400.61,
"originalPrincipal": 650400,
"originatingDate": "2021-07-15",
"loanTerm": 360,
"nextPaymentAmount": 2483.12,
"nextPaymentDate": "2021-07-15",
"lastPaymentAmount": 2483.12,
"lastPaymentDate": "2021-07-15",
"maturityDate": "2021-07-15",
"interestPaidYearToDate": 403.04,
"interestRate": 6.99,
"interestRateType": "FIXED"
}Line of credit account
Full details of a line of credit account. The accountType field for line of credit accounts may be set to any of the account types listed below.
Plaid may consume all the parameters returned by the GET /accounts endpoint:
availableCreditcreditLinecurrentBalance
CREDITCARD accountType, Plaid consumes the previous information plus the following for its liabilities product:advancesAprlastPaymentAmountlastPaymentDatelastStmtBalancelastStmtDateminimumPaymentAmountnextPaymentDatepurchasesAprPlaid expects a decimal amount with two places (to represent fractional values of the base currency) for all monetary amounts. For example,"currentBalance": 192.00
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
LOC_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
LINEOFCREDIT, CHARGE, CREDITCARD, HOMELINEOFCREDITCredit limit
Available credit. Required for all accountTypes except for CHARGE
Amount of next payment. May differ from minimumPaymentAmount if the customer pays more than their minimum or out of cycle
Due date of next payment. May differ from statementAmountDueDate if the customer pays out of cycle ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Principal balance
Current balance of line of credit
Minimum payment amount, which is due at the date specified in nextPaymentDate
Amount of last payment
Last payment date ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Amount owed that the account holder failed to pay on the due date
Last statement balance
Last statement date ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC 3339
date 10 Annual percentage rate for purchases
Annual percentage rate for cash advances
{
"accountCategory": "LOC_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "CREDITCARD",
"creditLine": 10000,
"availableCredit": 8302.73,
"nextPaymentAmount": 1832.11,
"nextPaymentDate": "2021-07-15",
"principalBalance": 132.28,
"currentBalance": 1722.81,
"minimumPaymentAmount": 190.32,
"lastPaymentAmount": 2852.91,
"lastPaymentDate": "2021-07-15",
"pastDueAmount": 0,
"lastStmtBalance": 5393.81,
"lastStmtDate": "2021-07-15",
"purchasesApr": 0,
"advancesApr": 0
}Account descriptors
Annuity account descriptor
An annuity account. For example, a fixed or variable annuity account.
The accountType field for annuity accounts may be set to any of the following:
ANNUITY: A form of insurance or investment entitling the investor to a series of annual sums. -FIXEDANNUITY: A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account. -VARIABLEANNUITY: A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
ANNUITY_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
ANNUITY, FIXEDANNUITY, VARIABLEANNUITY{
"accountCategory": "ANNUITY_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "FIXEDANNUITY"
}Commercial account descriptor
A commercial account. For example, a business deposit account. The accountType field for commercial accounts may be set to any of the account types listed below.
Note: Commercial accounts are discoverable-only. Plaid does not consume downstream data (balances, transactions, Auth) for commercial accounts.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
COMMERCIAL_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
COMMERCIALDEPOSIT, COMMERCIALINVESTMENT, COMMERCIALLOAN, COMMERCIALLINEOFCREDIT{
"accountCategory": "COMMERCIAL_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "COMMERCIALLOAN"
}Deposit account descriptor
A deposit account. For example, a checking, savings or money market account. Plaid consumes more detailed information for CHECKING and SAVINGS accounts.
The accountType field for deposit accounts may be set to any of the following:
CHECKING: A deposit account held at a financial institution that allows withdrawals and deposits. -SAVINGS: An interest-bearing deposit account held at a bank or other financial institution. -CD: A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time. -COMMERCIALDEPOSIT: A deposit account for commercial customers, for example a business trust account. -ESCROW: A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties. -MONEYMARKET: A deposit account that pays interest based on current interest rates in the money markets. -OTHERDEPOSIT: Use when none of the listed enums apply.
CHECKING and SAVINGS by default for Auth. The following types are not Auth-eligible unless allowlisted: CD, MONEYMARKET, ESCROW, HIGHINTERESTSAVINGSACCOUNT, FIRSTHOMESAVINGSACCOUNT, OTHERDEPOSIT. - Transactions: Plaid consumes transactions only for accounts mapped to depository (CHECKING, SAVINGS, CD, MONEYMARKET). Other deposit types mapped to other/other return balances only (no Auth, no transactions).Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
DEPOSIT_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
CHECKING, SAVINGS, CD, ESCROW, MONEYMARKET, OTHERDEPOSIT{
"accountCategory": "DEPOSIT_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "SAVINGS"
}Insurance account descriptor
An insurance account. For example, whole life insurance or short-term disability.
The accountType field for insurance accounts may be set to any of the following:
LONGTERMDISABILITY: Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year. -SHORTTERMDISABILITY: Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year. -UNIVERSALLIFE: A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest. -WHOLELIFE: Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
INSURANCE_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
LONGTERMDISABILITY, SHORTTERMDISABILITY, UNIVERSALLIFE, WHOLELIFE{
"accountCategory": "INSURANCE_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "WHOLELIFE"
}Investment account descriptor
An investment account. For example, a 401K or IRA. Plaid consumes the same details for all investment accounts.
The accountType field for investment accounts may be set to any of the following:
401A: An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both. -401K: An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code. -403B: A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States. -529: A tax-advantaged savings plan designed to help pay for education. -BROKERAGEPRODUCT: Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options. -COMMERCIALINVESTMENT: Investment Account for Commercial Customers. e.g. Commercial Brokerage Account. -COVERDELL: A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account. -DIGITALASSET: An account containing digital assets. -DEFINEDBENEFIT: An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history. -GUARDIAN: An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent. -INSTITUTIONALTRUST: An institutional trust account. -IRA: An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement. -KEOGH: A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes. -NONQUALIFIEDPLAN: A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines. -OTHERINVESTMENT: Use when none of the listed enums apply. -ROLLOVER: An account containing investments rolled over from an employee-sponsored account. -ROTH: An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement. -SARSEP: A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement. -TAXABLE: A taxable investment account. -TDA: TreasuryDirect Account. -TRUST: A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms. -TERM: Life insurance that provides coverage at a fixed rate of payments for a limited period of time. -UGMA: Uniform Gifts to Minors Act account. -UTMA: Uniform Transfers to Minors Act account.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
INVESTMENT_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
401A, 401K, 403B, 529, BROKERAGEPRODUCT, COVERDELL, DIGITALASSET, DEFINEDBENEFIT, DEFERREDPROFITSHARINGPLAN, ESOP, GUARDIAN, INDIVIDUALPENSIONPLAN, INSTITUTIONALTRUST, INVESTMENTACCOUNT, IRA, KEOGH, LIFEINCOMEFUND, LOCKEDINRETIREMENTACCOUNT, LOCKEDINRETIREMENTINCOMEFUND, LOCKEDINRETIREMENTSAVINGSPLAN, NONQUALIFEDPLAN, NONQUALIFIEDPLAN, OTHERINVESTMENT, PRESCRIBEDREGISTEREDRETIREMENTINCOMEFUND, REGISTEREDPENSIONPLAN, REGISTEREDDISABILITYSAVINGSPLAN, REGISTEREDEDUCATIONSAVINGSPLAN, REGISTEREDRETIREMENTINCOMEFUND, REGISTEREDRETIREMENTSAVINGSPLAN, RESTRICTEDLIFEINCOMEFUND, RESTRICTEDLOCKEDINSAVINGSPLAN, ROLLOVER, ROTH, SARSEP, SPECIFIEDPENSIONPLAN, TAXABLE, TAXFREESAVINGSACCOUNT, TDA, TRUST, TERM, UGMA, UTMA, VARIABLEANNUITY{
"accountCategory": "INVESTMENT_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "ROTH"
}Loan account descriptor
A loan account. For example, mortgage, student loan or auto loan. Plaid consumes more detailed information for MORTGAGE and STUDENTLOAN accounts.
The accountType field for loan accounts may be set to any of the following:
AUTOLOAN: A type of loan used to finance a car purchase. -COMMERCIALLOAN: A preset borrowing limit that can be used at any time. -HOMEEQUITYLOAN: A type of loan in which the borrower uses the equity of his or her home as collateral. -INSTALLMENT: A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments. -LOAN: The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc. -MILITARYLOAN: A military loan. -MORTGAGE: A type of loan you can use to buy or refinance a home. -PERSONALLOAN: A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower. -SMBLOAN: A small/medium business loan. -STUDENTLOAN: A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
LOAN_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
AUTOLOAN, HOMEEQUITYLOAN, INSTALLMENT, LOAN, MILITARYLOAN, MORTGAGE, PERSONALLOAN, SMBLOAN, STUDENTLOAN{
"accountCategory": "LOAN_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "HOMEEQUITYLOAN"
}Line of credit account descriptor
A line-of-credit account. For example, a credit card or home equity line of credit. Plaid consumes more detailed information for CREDITCARD accounts.
The accountType field for line of credit accounts may be set to any of the following:
LINEOFCREDIT: A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds. -CHARGE: An account to which goods and services may be charged on credit. -COMMERCIALLINEOFCREDIT: An account with a preset borrowing limit that can be used at any time. -CREDITCARD: Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment. -HOMELINEOFCREDIT: A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house.
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
LOC_ACCOUNTLong-term persistent identity of the account, though not an account number. This identity must be unique within your organization.
256 Account display number for the end user's handle at the owning financial institution. Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
Marketed product name for this account. Used in UIs to assist in account selection
Account nickname
Account status
CLOSED, DELINQUENT, NEGATIVECURRENTBALANCE, OPEN, PAID, PENDINGCLOSE, PENDINGOPEN, RESTRICTEDA currency object containing an ISO 4217 currency code.
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe account type. Plaid consumes basic balance account information from the accounts/{accountId} endpoint for a subset of the possible account types described in the FDX specification.
LINEOFCREDIT, CHARGE, CREDITCARD, HOMELINEOFCREDIT{
"accountCategory": "LOC_ACCOUNT",
"accountId": "someLongTermUniqueIDString",
"accountNumberDisplay": "4321",
"productName": "Premier Account",
"status": "OPEN",
"currency": {
"currencyCode": "CAD"
},
"accountType": "CREDITCARD"
}Account statuses
See the table below for help in selecting the appropriate account status.
| Status | Description |
|---|---|
CLOSED | An account that is closed or no longer exists |
DELINQUENT | An account with unpaid payments that are past due |
NEGATIVECURRENTBALANCE | An account with a current negative balance |
PAID | An account that is paid in full |
PENDINGCLOSE | An account that is in the process of being closed |
PENDINGOPEN | An account that is in the process of being opened |
RESTRICTED | An account with restricted access |
Account types
Annuity account types
Discoverable-only: Annuity accounts are discoverable-only. Plaid does not consume downstream data (balances, transactions, Auth) for this account category. These accounts appear in the GET /accounts response for discovery purposes only.
The accountType field for annuity accounts may be set to any of the following:
| Account type | Description |
|---|---|
ANNUITY | A form of insurance or investment entitling the investor to a series of annual sums |
FIXEDANNUITY | A type of insurance contract that promises to pay the buyer a specific, guaranteed interest rate on their contributions to the account |
VARIABLEANNUITY | A type of insurance contract that promises to pay back the buyer based on the performance of an underlying portfolio of mutual funds selected by the buyer |
Commercial account types
Discoverable-only: Commercial accounts are discoverable-only. Plaid does not consume downstream data (balances, transactions, Auth) for this account category. These accounts appear in the GET /accounts response for discovery purposes only.
The accountType field for accounts may be set to any of the following:
| Account type | Description |
|---|---|
COMMERCIALDEPOSIT | A deposit account for commercial customers, for example a business trust account |
COMMERCIALLOAN | A preset borrowing limit that can be used at any time |
COMMERCIALLINEOFCREDIT | An account with a preset borrowing limit that can be used at any time |
COMMERCIALINVESTMENT | Investment Account for Commercial Customers. e.g. Commercial Brokerage Account |
Deposit account types
Plaid consumption scope:
- Balances: Plaid returns balances for all deposit account types.
- Auth: Plaid only consumes
CHECKINGandSAVINGSaccounts for Auth by default. The following account types are not Auth-consumed unless explicitly allowlisted:CD,MONEYMARKET,ESCROW,OTHERDEPOSIT. Accounts that map toother/other(such asESCROWandOTHERDEPOSIT) return balances only and are never eligible for Auth. - Transactions: Plaid extracts transactions only for accounts mapped to the
depositorytype (CHECKING,SAVINGS,MONEYMARKET,CD). Accounts mapped toother/otherdo not return transactions.
The accountType field for deposit accounts may be set to any of the following:
| Account type | Description |
|---|---|
CHECKING | An interest-bearing deposit account held at a bank or other financial institution |
SAVINGS | An interest-bearing deposit account held at a bank or other financial institution |
CD | A certificate of deposit (CD) is a product offered by banks and credit unions that provides an interest rate premium in exchange for the customer agreeing to leave a lump-sum deposit untouched for a predetermined period of time |
ESCROW | A contractual arrangement in which a third party (the stakeholder or escrow agent) receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties |
MONEYMARKET | A deposit account that pays interest based on current interest rates in the money markets |
OTHERDEPOSIT | Use when none of the listed enums apply |
Insurance account types
Discoverable-only: Insurance accounts are discoverable-only. Plaid does not consume downstream data (balances, transactions, Auth) for this account category. These accounts appear in the GET /accounts response for discovery purposes only.
The accountType field for insurance accounts may be set to any of the following:
| Account type | Description |
|---|---|
LONGTERMDISABILITY | Insurance that replaces a portion of the policyholder's income due to a disability for an extended period of time, usually more than a year |
SHORTTERMDISABILITY | Insurance that replaces a portion of the policyholder's income due to a disability for a short period of time, usually less than a year |
UNIVERSALLIFE | A type of a cash value life insurance where the excess of premium payments above the current cost of insurance is credited to the cash value of the policy, which in turn is credited each month with interest |
WHOLELIFE | Life insurance which is guaranteed to remain in force for the insured's entire lifetime, provided required premiums are paid, or to the maturity date |
Investment account types
The accountType field for investment accounts may be set to any of the following:
| Account type | Description |
|---|---|
401A | An employer-sponsored money-purchase retirement plan that allows dollar or percentage-based contributions from the employer, the employee, or both |
401K | An employer-sponsored defined-contribution pension account defined in subsection 401(k) of the Internal Revenue Code |
403B | A U.S. tax-advantaged retirement savings plan available for public education organizations, some non-profit employers (only Internal Revenue Code 501(c)(3) organizations), cooperative hospital service organizations, and self-employed ministers in the United States |
529 | A tax-advantaged savings plan designed to help pay for education |
BROKERAGEPRODUCT | Investment management offered by a licensed brokerage firm that places trades on behalf of the customer, utilizing any number of investment options |
COVERDELL | A trust or custodial account set up in the United States solely for paying qualified education expenses for the designated beneficiary of the account |
DIGITALASSET | An account containing digital assets |
DEFINEDBENEFIT | An employer-sponsored retirement plan where employee benefits are computed using a formula that considers several factors, such as length of employment and salary history |
ESOP | An employee stock ownership plan (ESOP) is an employee benefit plan that gives workers ownership interest in the company |
GUARDIAN | An account of a child in the parent's name, with legal title to the assets in the account, as well as all capital gains and tax liabilities produced from the account belonging to the parent |
INSTITUTIONALTRUST | An institutional trust account |
IRA | An individual retirement account (IRA) is a tax-advantaged account that individuals use to save and invest for retirement |
KEOGH | A tax-deferred pension plan available to self-employed individuals or unincorporated businesses for retirement purposes |
NONQUALIFIEDPLAN | A type of tax-deferred employer-sponsored retirement plan that falls outside of ERISA guidelines |
OTHERINVESTMENT | Use when none of the listed enums apply |
ROLLOVER | An account containing investments rolled over from an employee-sponsored account |
ROTH | An individual retirement account that offers tax-free growth and tax-free withdrawals in retirement |
SARSEP | A simplified employee pension (SEP) plan set up before 1997 that includes a salary reduction arrangement |
TAXABLE | A taxable investment account |
TDA | TreasuryDirect Account |
TRUST | A type of financial account that is opened by an individual and managed by a designated trustee for the benefit of a third party in accordance with agreed-upon terms |
TERM | Life insurance that provides coverage at a fixed rate of payments for a limited period of time |
UGMA | Uniform Gifts to Minors Act account |
UTMA | Uniform Transfers to Minors Act account |
Loan account types
The accountType field for loan accounts may be set to any of the following:
| Account type | Description |
|---|---|
AUTOLOAN | A type of loan used to finance a car purchase |
HOMEEQUITYLOAN | A type of loan in which the borrower uses the equity of his or her home as collateral |
INSTALLMENT | A type of agreement or contract involving a loan that is repaid over time with a set number of scheduled payments |
LOAN | The lending of money by one or more individuals, organizations, or other entities to other individuals, organizations etc. |
MILITARYLOAN | A military loan |
MORTGAGE | A type of loan you can use to buy or refinance a home |
PERSONALLOAN | A type of debt that is not protected by a guarantor, or collateralized by a lien on specific assets of the borrower |
SMBLOAN | A small/medium business loan |
STUDENTLOAN | A type of loan designed to help students pay for post-secondary education and the associated fees, such as tuition, books and supplies, and living expenses |
Line of credit account types
The accountType field for line of credit accounts may be set to any of the following:
| Account type | Description |
|---|---|
LINEOFCREDIT | A credit facility extended by a bank or other financial institution to a government, business or individual customer that enables the customer to draw on the facility when the customer needs funds |
CHARGE | An account to which goods and services may be charged on credit |
CREDITCARD | Allows cardholders to borrow funds with which to pay for goods and services with merchants that accept cards for payment |
HOMELINEOFCREDIT | A loan in which the lender agrees to lend a maximum amount within an agreed period, where the collateral is the borrower's equity in their house |
Transaction objects
Deposit transaction
A transaction on a deposit account type
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
DEPOSIT_ACCOUNTLong term persistent identity of the transaction (unique to account). Plaid expects that status: PENDING and status: POSTED transactions have different IDs
256 For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the authorization transaction
256 The date and time that the transaction was posted to the account. This property is required by Plaid when status=POSTED. Plaid expects this property to be omitted when status=PENDING ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time The date and time that the transaction was added to the server backend systems ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time Description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer
The posting type of a transaction. Because the transaction amount is an absolute value, this parameter is required to indicate the transaction direction and sign (+/-): - DEBIT: Money is leaving the account. The transaction amount will be exposed with a positive sign (+) - CREDIT: Money is entering the account. The transaction amount will be exposed with a negative sign (-) - MEMO: The transaction is pending and will be completed at the end of the day. (Plaid handles MEMO transaction the same as DEBIT transactions.)
CREDIT, DEBIT, MEMOTransaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable
Transaction category detail specifying the standard of the transaction category. For example, "MCC"
The status of a transaction. Plaid consumes solely the PENDING and POSTED enums, and treats MEMO and AUTHORIZATION as if they were PENDING. Plaid expects that pending and posted transactions have different transactionIds. AUTHORIZATION MEMO - A pending transaction to be completed at the end of this day PENDING - A pending transaction POSTED - A posted transaction
AUTHORIZATION, MEMO, PENDING, POSTEDThe amount of money in the account currency. The amount is an absolute value. Plaid relies on the DebitCreditMemo enum to determine the direction (and sign) of the transaction
The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the foreignCurrency property is also set
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLPayee name
255 Check number. Plaid expects this solely if the transaction involves a check
{
"accountCategory": "DEPOSIT_ACCOUNT",
"transactionId": "78RJ3311PLU34300E",
"transactionTimestamp": "2024-07-15T14:46:41.375+02:00",
"description": "ATM deposit",
"debitCreditMemo": "DEBIT",
"status": "PENDING",
"amount": 38.9
}Investment transaction
A transaction on an investment account. In addition to the required fields in the base Transaction model, Plaid requires the following fields for all transactions on an investment account:
feestransactionType
unitPriceunitssymbolOR bothsecurityIdandsecurityIdType
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
INVESTMENT_ACCOUNTLong term persistent identity of the transaction (unique to account). Plaid expects that status: PENDING and status: POSTED transactions have different IDs
256 For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the authorization transaction
256 The date and time that the transaction was posted to the account. This property is required by Plaid when status=POSTED. Plaid expects this property to be omitted when status=PENDING ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time The date and time that the transaction was added to the server backend systems ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time Description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer
The posting type of a transaction. Because the transaction amount is an absolute value, this parameter is required to indicate the transaction direction and sign (+/-): - DEBIT: Money is leaving the account. The transaction amount will be exposed with a positive sign (+) - CREDIT: Money is entering the account. The transaction amount will be exposed with a negative sign (-) - MEMO: The transaction is pending and will be completed at the end of the day. (Plaid handles MEMO transaction the same as DEBIT transactions.)
CREDIT, DEBIT, MEMOTransaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable
Transaction category detail specifying the standard of the transaction category. For example, "MCC"
The status of a transaction. Plaid consumes solely the PENDING and POSTED enums, and treats MEMO and AUTHORIZATION as if they were PENDING. Plaid expects that pending and posted transactions have different transactionIds. AUTHORIZATION MEMO - A pending transaction to be completed at the end of this day PENDING - A pending transaction POSTED - A posted transaction
AUTHORIZATION, MEMO, PENDING, POSTEDThe amount of money in the account currency. The amount is an absolute value. Plaid relies on the DebitCreditMemo enum to determine the direction (and sign) of the transaction
The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the foreignCurrency property is also set
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe type of an investment transaction. Plaid maps these enums to Plaid investment transaction types. Plaid doesn't map these enums to Plaid-specific transaction subtypes. Plaid maps these enums as follows:
- ADJUSTMENT - fee ATM - cash CASH - cash CHECK - cash CLOSURE - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum. CLOSUREOPT - Plaid suggests using SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION to indicate the specific type of closure, instead of using this enum. CONTRIBUTION - buy (if transaction involves a security) or cash DEP - cash DEPOSIT - cash DIRECTDEBIT - cash DIRECTDEP - cash DIV - cash DIVIDEND - cash DIVIDENDREINVEST - buy EXPENSE - cash FEE - fee INCOME - cash INTEREST - cash INVEXPENSE - cash JRNLFUND - transfer JRNLSEC - transfer MARGININTEREST - cash OPTIONEXERCISE - transfer OPTIONEXPIRATION - transfer OTHER - cash - (unclassified) PAYMENT - cash POS - cash PURCHASED - buy PURCHASEDTOCOVER - buy PURCHASETOCLOSE - buy PURCHASETOOPEN - buy REINVESTOFINCOME - buy REPEATPMT - cash RETURNOFCAPITAL - cash SOLD - sell SOLDTOCLOSE - sell SOLDTOOPEN - sell SPLIT - transfer SRVCHG - fee TRANSFER - transfer XFER - transfer
ADJUSTMENT, ATM, CASH, CHECK, CLOSURE, CLOSUREOPT, CONTRIBUTION, DEP, DEPOSIT, DIRECTDEBIT, DIRECTDEP, DIV, DIVIDEND, DIVIDENDREINVEST, EXPENSE, FEE, INCOME, INTEREST, INVEXPENSE, JRNLFUND, JRNLSEC, MARGININTEREST, OPTIONEXERCISE, OPTIONEXPIRATION, OTHER, PAYMENT, POS, PURCHASED, PURCHASEDTOCOVER, PURCHASETOCLOSE, PURCHASETOOPEN, REINVESTOFINCOME, REPEATPMT, RETURNOFCAPITAL, SOLD, SOLDTOCLOSE, SOLDTOOPEN, SPLIT, SRVCHG, TRANSFER, XFERIf you return the securityId for a holding, Plaid uses it to look up the closing price from NYSE Group Security Master. If you don't return securityId for a holding that uses security IDs (not recommended), Plaid uses the unitPrice as the closing price.
This field, along with securityIdType are required unless symbol is provided.
Note: If securityId is provided, securityIdType is required.
Plaid consumes solely CUSIP, ISIN, and SEDOL.
This field, along with securityId are required unless symbol is provided.
Note: If securityIdType is provided, securityId is required.
CINS, CMC, CME, CUSIP, ISIN, ITSA, NASDAQ, SEDOL, SICC, VALOR, WKNThe type of a security
BOND, DEBT, MUTUALFUND, DIGITALASSET, OPTION, OTHER, STOCK, SWEEPTicker / Market symbol This field is required unless both securityId and securityIdType are provided
Plaid expects that your organization includes a value for commission if the commission isn't included in fees
Fees applied to the trade. Plaid expects that the fees include the commission, unless your organization separately provides a value for commission
Unit price. Plaid uses this as the price. Plaid falls back to using this as the close price if you don't return securityId for transactions involving securities. Note: This field is required if the transaction involves a security
Plaid requires this field for holdings and transactions involving securities. For security-based actions other than stock splits, quantity. Shares for stocks, mutual funds, and others. Face value for bonds. Contracts for options. Note: This field is required if the transaction involves a security.
The units of an investment transaction
CURRENCY, SHARESArray of financial institution-specific attributes. Plaid recommends including a value for is_cash_equivalent property in this array. Plaid accepts isCashEquivalent as the attribute name and a string value of true or false.
Name of the financial institution-specific attribute
Value of the financial institution-specific attribute
{
"accountCategory": "INVESTMENT_ACCOUNT",
"transactionId": "78RJ3311PLU34300E",
"transactionTimestamp": "2024-07-15T14:46:41.375+02:00",
"description": "Share purchase",
"debitCreditMemo": "DEBIT",
"status": "PENDING",
"amount": 428.08,
"fees": 4.28,
"transactionType": "PURCHASED"
}Loan transaction
A transaction on a loan account
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
LOAN_ACCOUNTLong term persistent identity of the transaction (unique to account). Plaid expects that status: PENDING and status: POSTED transactions have different IDs
256 For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the authorization transaction
256 The date and time that the transaction was posted to the account. This property is required by Plaid when status=POSTED. Plaid expects this property to be omitted when status=PENDING ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time The date and time that the transaction was added to the server backend systems ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time Description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer
The posting type of a transaction. Because the transaction amount is an absolute value, this parameter is required to indicate the transaction direction and sign (+/-): - DEBIT: Money is leaving the account. The transaction amount will be exposed with a positive sign (+) - CREDIT: Money is entering the account. The transaction amount will be exposed with a negative sign (-) - MEMO: The transaction is pending and will be completed at the end of the day. (Plaid handles MEMO transaction the same as DEBIT transactions.)
CREDIT, DEBIT, MEMOTransaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable
Transaction category detail specifying the standard of the transaction category. For example, "MCC"
The status of a transaction. Plaid consumes solely the PENDING and POSTED enums, and treats MEMO and AUTHORIZATION as if they were PENDING. Plaid expects that pending and posted transactions have different transactionIds. AUTHORIZATION MEMO - A pending transaction to be completed at the end of this day PENDING - A pending transaction POSTED - A posted transaction
AUTHORIZATION, MEMO, PENDING, POSTEDThe amount of money in the account currency. The amount is an absolute value. Plaid relies on the DebitCreditMemo enum to determine the direction (and sign) of the transaction
The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the foreignCurrency property is also set
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe type of a loan transaction. Plaid passes through all loan transaction types
ADJUSTMENT: Adjustment or correction. -FEE: Fee charge. For example, a late payment fee. -INTEREST: Interest charge. -PAYMENT: Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages). -LUMP_SUM_PAYMENT: A single payment of money, as opposed to a series of payments made over time. -SKIP_PAYMENT: Payment that satisfies deferral of a required payment. -DOUBLE_UP_PAYMENT: Additional payment beyond the required payment to reduce the principal. -PAYOFF: Payment that satisfies the terms of the mortgage loan and completely pays off the debt.
ADJUSTMENT, FEE, INTEREST, PAYMENT, LUMP_SUM_PAYMENT, SKIP_PAYMENT, DOUBLE_UP_PAYMENT, PAYOFF{
"accountCategory": "LOAN_ACCOUNT",
"transactionId": "78RJ3311PLU34300E",
"transactionTimestamp": "2024-07-15T14:46:41.375+02:00",
"description": "Monthly loan payment-minimum due",
"debitCreditMemo": "CREDIT",
"status": "POSTED",
"amount": 1638.83
}Line of credit transaction
A line-of-credit transaction
Properties
The category of account. For example, annuity, commercial, deposit, insurance, investment, loan, or line of credit.
LOC_ACCOUNTLong term persistent identity of the transaction (unique to account). Plaid expects that status: PENDING and status: POSTED transactions have different IDs
256 For reverse postings, the identity of the transaction being reversed. For the correction transaction, the identity of the reversing post. For credit card posting transactions, the identity of the authorization transaction
256 The date and time that the transaction was posted to the account. This property is required by Plaid when status=POSTED. Plaid expects this property to be omitted when status=PENDING ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time The date and time that the transaction was added to the server backend systems ISO 8601 date-time in format YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm] according to IETF RFC 3339
date-time Description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer
The posting type of a transaction. Because the transaction amount is an absolute value, this parameter is required to indicate the transaction direction and sign (+/-): - DEBIT: Money is leaving the account. The transaction amount will be exposed with a positive sign (+) - CREDIT: Money is entering the account. The transaction amount will be exposed with a negative sign (-) - MEMO: The transaction is pending and will be completed at the end of the day. (Plaid handles MEMO transaction the same as DEBIT transactions.)
CREDIT, DEBIT, MEMOTransaction category, preferably MCC or SIC. Plaid expects your organization to provide MCC, if available and applicable
Transaction category detail specifying the standard of the transaction category. For example, "MCC"
The status of a transaction. Plaid consumes solely the PENDING and POSTED enums, and treats MEMO and AUTHORIZATION as if they were PENDING. Plaid expects that pending and posted transactions have different transactionIds. AUTHORIZATION MEMO - A pending transaction to be completed at the end of this day PENDING - A pending transaction POSTED - A posted transaction
AUTHORIZATION, MEMO, PENDING, POSTEDThe amount of money in the account currency. The amount is an absolute value. Plaid relies on the DebitCreditMemo enum to determine the direction (and sign) of the transaction
The amount of money in the foreign currency. If this amount is specified, then Plaid expects that the foreignCurrency property is also set
Currency, fund and precious metal codes as of Jan. 1, 2023 per ISO 4217 Currency Code Maintenance
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWLThe type of a line of credit (LOC) transaction. Plaid passes through all LOC transaction types
ADJUSTMENT, CHECK, FEE, INTEREST, PAYMENT, WITHDRAWAL, PURCHASECheck number. Plaid expects this solely if the transaction involves a check
{
"accountCategory": "LOC_ACCOUNT",
"transactionId": "78RJ3311PLU34300E",
"transactionTimestamp": "2024-07-15T14:46:41.375+02:00",
"description": "Recurring payment",
"debitCreditMemo": "CREDIT",
"status": "AUTHORIZATION",
"amount": 38.9
}Transaction types
Investment transaction types
Plaid maps these enums to Plaid investment transaction types, but not to Plaid-specific transaction subtypes.
| Transaction type | Investment transaction type |
|---|---|
ADJUSTMENT | fee |
ATM | cash |
CASH | cash |
CHECK | cash |
CLOSURE | Plaid recommends against using this value, rather specifying the closure type with any of the following: SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION |
CLOSUREOPT | Plaid recommends against using this value, rather specifying the closure type with any of the following: SOLDTOCLOSE, PURCHASETOCLOSE, OPTIONEXERCISE or OPTIONEXPIRATION |
CONTRIBUTION | buy (if transaction involves a security) or cash |
DEP | cash |
DEPOSIT | cash |
DIRECTDEBIT | cash |
DIRECTDEP | cash |
DIV | cash |
DIVIDEND | cash |
DIVIDENDREINVEST | buy |
EXPENSE | cash |
FEE | fee |
INCOME | cash |
INTEREST | cash |
INVEXPENSE | cash |
JRNLFUND | transfer |
JRNLSEC | transfer |
MARGININTEREST | cash |
OPTIONEXERCISE | transfer |
OPTIONEXPIRATION | transfer |
OTHER | cash (unclassified) |
PAYMENT | cash |
POS | cash |
PURCHASED | buy |
PURCHASEDTOCOVER | buy |
PURCHASETOCLOSE | buy |
PURCHASETOOPEN | buy |
REINVESTOFINCOME | buy |
REPEATPMT | cash |
RETURNOFCAPITAL | cash |
SOLD | sell |
RETURNOFCAPITAL | cash |
SOLD | sell |
SOLDTOCLOSE | sell |
SOLDTOOPEN | sell |
SPLIT | transfer |
SRVCHG | fee |
TRANSFER | transfer |
XFER | transfer |
Loan transaction types
| Account type | Description |
|---|---|
ADJUSTMENT | Adjustment or correction |
FEE | Fee charge. For example, a late payment fee |
INTEREST | Interest charge |
PAYMENT | Required payment that satisfies the minimum payment (e.g. principal + interest for mortgages) |
LUMP_SUM_PAYMENT | A single payment of money, as opposed to a series of payments made over time |
SKIP_PAYMENT | Payment that satisfies deferral of a required payment |
DOUBLE_UP_PAYMENT | Additional payment beyond the required payment to reduce the principal |
PAYOFF | Payment that satisfies the terms of the mortgage loan and completely pays off the debt |