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/{accountId}/contact | Get account contact information |
/accounts | Search and view customer accounts |
/accounts/{accountId} | Get account balances, liabilities, and other information |
/accounts/{accountId}/statements | Get account statements |
/accounts/{accountId}/statements/{statementId} | Get account statement PDF |
/accounts/{accountId}/transactions | List all account transactions |
/accounts/{accountId}/payment-networks | Get payment networks supported by an account |
/accounts/{accountId}/asset-transfer-networks | Get asset transfer networks supported by an account |
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 notes 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.
1{2 "code": 705,3 "message": "Account is closed",4 "debugMessage": "Operation is not supported by the closed account"5}
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.
Note:
- If you use OIDC authentication (recommended) you do not need to implement this endpoint as Plaid identifies the customer using the OIDC
id_token
response. - If you use OAuth2 authentication, Plaid uses this endpoint as an alternate method of customer identification.
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/customers/current' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Response fields and example
customerId
256
1{2 "customerId": "someLongTermUniqueIDString"3}
Was this helpful?
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}/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.
accountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}/contact' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Details used to verify an account
holders
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 Identity1
name
relationship
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_MINOR
emails
1
addresses
1
line1
64
line2
64
line3
64
city
64
region
64
postalCode
10
country
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
, ZW
telephones
1
1{2 "holders": [3 {4 "relationship": "SECONDARY",5 "name": {6 "first": "Ernest",7 "middle": "Miller",8 "last": "Hemingway",9 "suffix": "IV"10 }11 },12 {13 "relationship": "PRIMARY_JOINT",14 "name": {15 "first": "Maya",16 "last": "Angelou",17 "middle": "Annie"18 }19 }20 ],21 "emails": [22 "ernest.m.hemingway@domain.tld",23 "m.angelou@domain.tld"24 ],25 "addresses": [26 {27 "line1": "1850 N Clark St",28 "line2": "Apartment 103",29 "city": "Chicago",30 "region": "IL",31 "postalCode": "60614",32 "country": "US"33 },34 {35 "line1": "2014 N Main St",36 "city": "San Francisco",37 "region": "CA",38 "postalCode": "94105",39 "country": "US"40 }41 ],42 "telephones": [43 {44 "type": "HOME",45 "country": "1",46 "number": "3127771926"47 },48 {49 "type": "CELL",50 "country": "53",51 "number": "45915607"52 },53 {54 "type": "HOME",55 "country": "1",56 "number": "4157771926"57 }58 ]59}
Was this helpful?
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
List all accounts
Search and view customer accounts
accountsoffset
nextOffset
in the response to indicate the last page query
limit
nextOffset
field that your organization returned in the latest response,
until your organization omits nextOffset
in the response to indicate the last page query
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts?offset=15&limit=50' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Response fields and example
page
nextoffset
, for paginated result sets. The nextOffset
ID doesn't need to be numeric or have any specific pattern.
In other words, your organization can implement this however you prefer.
The presence of this offset indicates that there's at least one more page of data available.
The absence of this offset indicates that there are no more pages of data left in this paginated array.
The API consumer returns this in the offset
parameter in a new request to get the next page in the response arraynextOffset
accounts
1
1{2 "page": {3 "nextOffset": "25"4 },5 "accounts": [6 {7 "accountCategory": "DEPOSIT_ACCOUNT",8 "accountId": "depositAccount0000001",9 "accountType": "CHECKING",10 "accountNumberDisplay": "5820",11 "productName": "Checking",12 "nickname": "Main Checking",13 "status": "OPEN",14 "currency": {15 "currencyCode": "USD"16 }17 },18 {19 "accountCategory": "LOAN_ACCOUNT",20 "accountId": "loanAccount0000001",21 "accountType": "LOAN",22 "accountNumberDisplay": "4704",23 "productName": "Loan",24 "nickname": "Primary Loan",25 "status": "OPEN",26 "currency": {27 "currencyCode": "USD"28 }29 },30 {31 "accountCategory": "LOC_ACCOUNT",32 "accountId": "locAccount0000001",33 "accountType": "LINEOFCREDIT",34 "accountNumberDisplay": "8200",35 "productName": "Line of Credit",36 "nickname": "First plaidypus LOC",37 "status": "OPEN",38 "currency": {39 "currencyCode": "USD"40 }41 },42 {43 "accountCategory": "INVESTMENT_ACCOUNT",44 "accountId": "investmentAccount0000001",45 "accountType": "TAXABLE",46 "accountNumberDisplay": "1050",47 "productName": "Brokerage Account",48 "nickname": "First plaidypus Brokerage",49 "status": "OPEN",50 "currency": {51 "currencyCode": "USD"52 }53 }54 ]55}
Was this helpful?
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 uses this endpoint to:
- Get account balances for deposit accounts. For example,
CHECKING
orSAVINGS
. For more information about how Plaid uses this information, see Plaid Balance API. - Get account liabilities for
STUDENTLOAN
,MORTGAGE
, andCREDITCARD
loan accounts. For more information about how Plaid uses this information, see Plaid Liabilities API. - Get balances and holdings for investment accounts. For more information about how Plaid uses this information, see Plaid Investments API.
See the response schema below for a full list of possible parameters for each account type.accounts/{accountId}
accountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
A 200 response will return one of the following type 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.
accountCategory
DEPOSIT_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.CHECKING
, SAVINGS
, CD
, ESCROW
, MONEYMARKET
, OTHERDEPOSIT
currentBalance
availableBalance
1{2 "accountCategory": "DEPOSIT_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "SAVINGS",11 "currentBalance": 1399.02,12 "availableBalance": 1399.0213}
Was this helpful?
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}/statements
Search for statements
Get account statements.
accounts/{accountId}/statementsaccountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
offset
nextOffset
in the response to indicate the last page query
limit
nextOffset
field that your organization returned in the latest response,
until your organization omits nextOffset
in the response to indicate the last page query
startTime
postedTimestamp
date
10
query
endTime
postedTimestamp
date
10
query
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}/statements?startTime=2022-04-01T00:00:00.000ZendTime=2022-04-30T00:00:00.000Z' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Response fields and example
page
nextoffset
, for paginated result sets. The nextOffset
ID doesn't need to be numeric or have any specific pattern.
In other words, your organization can implement this however you prefer.
The presence of this offset indicates that there's at least one more page of data available.
The absence of this offset indicates that there are no more pages of data left in this paginated array.
The API consumer returns this in the offset
parameter in a new request to get the next page in the response arraynextOffset
statements
accountId
accountId
in Account entity256
statementId
256
statementDate
date
10
description
links
Note: Plaid only accepts one link object in this array
href
uri-reference
action
GET
, POST
, PATCH
, DELETE
, PUT
rel
types
application/pdf
) content typeapplication/pdf
, image/gif
, image/jpeg
, image/tiff
, image/png
, application/json
status
1{2 "page": {3 "nextOffset": "2",4 "total": 35 },6 "statements": [7 {8 "accountId": "10001",9 "statementId": "20001",10 "links": [11 {12 "href": "/accounts/1111/statements?offSet=2&limit=10"13 }14 ]15 }16 ]17}
Was this helpful?
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
accounts/{accountId}/statements/{statementId}accountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
statementId
GET /accounts/{accountId}/statements
endpoint response256
path
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}/statements/{statementId}' \2-H 'Content-Type: application/json' \3-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 for the following account types only:
- Loan
- Investment
- Deposit
- Line of credit (LOC)
accountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
offset
nextOffset
in the response to indicate the last page query
limit
nextOffset
field that your organization returned in the latest response,
until your organization omits nextOffset
in the response to indicate the last page query
startTime
postedTimestamp
date
10
query
endTime
postedTimestamp
date
10
query
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}/transactions?startTime2022-11-01T00:00:00.000Z&limit=100' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Response fields and example
page
nextoffset
, for paginated result sets. The nextOffset
ID doesn't need to be numeric or have any specific pattern.
In other words, your organization can implement this however you prefer.
The presence of this offset indicates that there's at least one more page of data available.
The absence of this offset indicates that there are no more pages of data left in this paginated array.
The API consumer returns this in the offset
parameter in a new request to get the next page in the response arraynextOffset
transactions
1{2 "page": {3 "nextOffset": "qwer123454q2f"4 },5 "transactions": [6 {7 "depositTransaction": {8 "transactionType": "CHECK",9 "checkNumber": 1234,10 "payee": "ACME llc",11 "transactionId": "depositTransaction000000001",12 "postedTimestamp": "2022-04-06T00:00:00.000Z",13 "transactionTimestamp": "2022-04-05T00:00:00.000Z",14 "description": "check for latest ACME invoice",15 "debitCreditMemo": "DEBIT",16 "status": "PENDING",17 "amount": 40018 }19 },20 {21 "depositTransaction": {22 "transactionType": "ADJUSTMENT",23 "transactionId": "depositTransaction000000002",24 "postedTimestamp": "2022-04-07T00:00:00.000Z",25 "transactionTimestamp": "2022-04-07T00:00:00.000Z",26 "description": "reconciliation/adjustment of bank statement error",27 "debitCreditMemo": "DEBIT",28 "status": "POSTED",29 "amount": 0.830 }31 },32 {33 "depositTransaction": {34 "transactionType": "ATMDEPOSIT",35 "transactionId": "depositTransaction000000003",36 "postedTimestamp": "2022-04-08T00:00:00.000Z",37 "transactionTimestamp": "2022-04-08T00:00:00.000Z",38 "description": "ATM cash deposit location #1234",39 "debitCreditMemo": "CREDIT",40 "status": "POSTED",41 "amount": 101.842 }43 }44 ]45}
Was this helpful?
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}/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.
accounts/{accountId}/payment-networksaccountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
offset
nextOffset
in the response to indicate the last page query
limit
nextOffset
field that your organization returned in the latest response,
until your organization omits nextOffset
in the response to indicate the last page query
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}/payment-networks?offset=50' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Response fields and example
page
nextoffset
, for paginated result sets. The nextOffset
ID doesn't need to be numeric or have any specific pattern.
In other words, your organization can implement this however you prefer.
The presence of this offset indicates that there's at least one more page of data available.
The absence of this offset indicates that there are no more pages of data left in this paginated array.
The API consumer returns this in the offset
parameter in a new request to get the next page in the response arraynextOffset
paymentNetworks
1
bankId
identifier
type
US_
refers to the USA, and CA_
refers to Canada.
CA_ACSS
, CA_LVTS
, US_ACH
, US_CHIPS
, US_FEDNOW
, US_FEDWIRE
, US_RTP
transferIn
Note: Both
transferIn
and transferOut
must be true
in order for the account to support ACHtransferOut
Note: Both
transferIn
and transferOut
must be true
in order for the account to support ACH1{2 "page": {3 "nextOffset": 254 },5 "paymentNetworks": [6 {7 "bankId": "010088889",8 "identifier": "1111222233335820",9 "type": "US_ACH",10 "transferIn": true,11 "transferOut": true12 }13 ]14}
Was this helpful?
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}/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.
accounts/{accountId}/asset-transfer-networksaccountId
GET /accounts
endpoint response.
Plaid expects the ID to be a different value from the account numberNote: 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
path
offset
nextOffset
in the response to indicate the last page query
limit
nextOffset
field that your organization returned in the latest response,
until your organization omits nextOffset
in the response to indicate the last page query
1curl -X GET 'https://api.your-organization.plaid.com/fdx/v5/accounts/{accountId}/asset-transfer-networks?limit=25' \2-H 'Content-Type: application/json' \3-H 'Authorization: Bearer <access_token>'
200 OK
Response fields and example
assetTransferNetworks
identifier
identifierType
ACCOUNT_NUMBER
, TOKENIZED_ACCOUNT_NUMBER
institutionName
institutionId
type
CA_ATON
, US_ACATS
, US_DTC
jointAccount
1{2 "assetTransferNetworks": [3 {4 "identifier": "23348817826",5 "identifierType": "ACCOUNT_NUMBER",6 "institutionName": "First Plaidypus Bank",7 "institutionId": "FPB",8 "type": "US_ACATS",9 "jointAccount": true10 }11 ]12}
Was this helpful?
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 |
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.
accountCategory
DEPOSIT_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.CHECKING
, SAVINGS
, CD
, ESCROW
, MONEYMARKET
, OTHERDEPOSIT
currentBalance
availableBalance
1{2 "accountCategory": "DEPOSIT_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "SAVINGS",11 "currentBalance": 1399.02,12 "availableBalance": 1399.0213}
Was this helpful?
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
accountCategory
INVESTMENT_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.401A
, 401K
, 403B
, 529
, BROKERAGEPRODUCT
, COVERDELL
, DIGITALASSET
, DEFINEDBENEFIT
, ESOP
, GUARDIAN
, INSTITUTIONALTRUST
, IRA
, KEOGH
, NONQUALIFIEDPLAN
, OTHERINVESTMENT
, ROLLOVER
, ROTH
, SARSEP
, TAXABLE
, TDA
, TRUST
, TERM
, UGMA
, UTMA
availableCashBalance
balanceAsOf
ISO 8601 date-time in format
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339date-time
currentValue
holdings
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 investmentssecurityIds
id
256
idType
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
, WKN
holdingName
holdingType
OTHER
and set the holdingSubType
to indicate cash-type holdings (CASH, MONEYMARKET).ANNUITY
, BOND
, CD
, DIGITALASSET
, MUTUALFUND
, OPTION
, OTHER
, STOCK
holdingSubType
OTHER
and set the holdingSubType
to indicate cash-type holdings (CASH, MONEYMARKET).CASH
, MONEYMARKET
symbol
securityId
and securityIdType
are providedpurchasedPrice
currentUnitPrice
securityId
for holdings involving securities.currentUnitPriceDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
units
Note: This field is required if the transaction involves a security.
marketValue
faceValue
marketValue
.cashAccount
isCashEquivalent
in the fiAttributes
array,
then Plaid uses cashAccount
in determining the iscashequivalent
status.currency
currencyCode
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
, ZWL
fiAttributes
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.1{2 "accountCategory": "INVESTMENT_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "ROTH",11 "availableCashBalance": 3209.54,12 "balanceAsOf": "2021-07-15T14:46:41.375Z",13 "currentValue": 34938.214}
Was this helpful?
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
accountCategory
LOAN_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
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
accountNumber
Required for accountType 'MORTGAGE'
principalBalance
escrowBalance
originalPrincipal
originatingDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
loanTerm
nextPaymentAmount
nextPaymentDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
lastPaymentAmount
lastPaymentDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
maturityDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
interestPaidYearToDate
interestRate
interestRateType
FIXED
, VARIABLE
1{2 "accountCategory": "LOAN_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "HOMEEQUITYLOAN",11 "accountNumber": "loanAccount0000001",12 "principalBalance": 580303.95,13 "escrowBalance": 3400.61,14 "originalPrincipal": 650400,15 "originatingDate": "2021-07-15",16 "loanTerm": 360,17 "nextPaymentAmount": 2483.12,18 "nextPaymentDate": "2021-07-15",19 "lastPaymentAmount": 2483.12,20 "lastPaymentDate": "2021-07-15",21 "maturityDate": "2021-07-15",22 "interestRate": 0.07523}
Was this helpful?
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:
availableCredit
creditLine
currentBalance
Additionally, for the
CREDITCARD
accountType, Plaid consumes the previous information plus the following for its liabilities product:advancesApr
lastPaymentAmount
lastPaymentDate
lastStmtBalance
lastStmtDate
minimumPaymentAmount
nextPaymentDate
purchasesApr
"currentBalance": 192.00
accountCategory
LOC_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.LINEOFCREDIT
, CHARGE
, CREDITCARD
, HOMELINEOFCREDIT
creditLine
availableCredit
CHARGE
nextPaymentAmount
nextPaymentDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
principalBalance
currentBalance
minimumPaymentAmount
lastPaymentAmount
lastPaymentDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
pastDueAmount
lastStmtBalance
lastStmtDate
ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339
date
10
purchasesApr
advancesApr
1{2 "accountCategory": "LOC_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "CREDITCARD",11 "nextPaymentDate": "2021-07-15",12 "currentBalance": 1722.81,13 "lastPaymentDate": "2021-07-15",14 "lastStmtDate": "2021-07-15"15}
Was this helpful?
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.
accountCategory
ANNUITY_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.ANNUITY
, FIXEDANNUITY
, VARIABLEANNUITY
1{2 "accountCategory": "ANNUITY_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "FIXEDANNUITY"11}
Was this helpful?
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
accountCategory
COMMERCIAL_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.COMMERCIALDEPOSIT
, COMMERCIALINVESTMENT
, COMMERCIALLOAN
, COMMERCIALLINEOFCREDIT
1{2 "accountCategory": "COMMERCIAL_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "COMMERCIALLOAN"11}
Was this helpful?
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.
accountCategory
DEPOSIT_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.CHECKING
, SAVINGS
, CD
, ESCROW
, MONEYMARKET
, OTHERDEPOSIT
1{2 "accountCategory": "DEPOSIT_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "SAVINGS"11}
Was this helpful?
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.
accountCategory
INSURANCE_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.LONGTERMDISABILITY
, SHORTTERMDISABILITY
, UNIVERSALLIFE
, WHOLELIFE
1{2 "accountCategory": "INSURANCE_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "WHOLELIFE"11}
Was this helpful?
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.
accountCategory
INVESTMENT_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.401A
, 401K
, 403B
, 529
, BROKERAGEPRODUCT
, COVERDELL
, DIGITALASSET
, DEFINEDBENEFIT
, ESOP
, GUARDIAN
, INSTITUTIONALTRUST
, IRA
, KEOGH
, NONQUALIFIEDPLAN
, OTHERINVESTMENT
, ROLLOVER
, ROTH
, SARSEP
, TAXABLE
, TDA
, TRUST
, TERM
, UGMA
, UTMA
1{2 "accountCategory": "INVESTMENT_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "ROTH"11}
Was this helpful?
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.
accountCategory
LOAN_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
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
1{2 "accountCategory": "LOAN_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "HOMEEQUITYLOAN"11}
Was this helpful?
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.
accountCategory
LOC_ACCOUNT
accountId
256
accountNumberDisplay
productName
nickname
status
CLOSED
, DELINQUENT
, NEGATIVECURRENTBALANCE
, OPEN
, PAID
, PENDINGCLOSE
, PENDINGOPEN
, RESTRICTED
currency
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339currencyCode
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
, ZWL
accountType
accounts/{accountId}
endpoint for a subset of the possible account types described in the FDX specification.LINEOFCREDIT
, CHARGE
, CREDITCARD
, HOMELINEOFCREDIT
1{2 "accountCategory": "LOC_ACCOUNT",3 "accountId": "someLongTermUniqueIDString",4 "accountNumberDisplay": "4321",5 "productName": "Premier Account",6 "status": "OPEN",7 "currency": {8 "currencyCode": "CAD"9 },10 "accountType": "CREDITCARD"11}
Was this helpful?
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
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
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
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
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 |
Transactions
Transaction objects
Deposit transaction
A transaction on a deposit account type
accountCategory
DEPOSIT_ACCOUNT
transactionId
status: PENDING
and status: POSTED
transactions have different IDs256
referenceTransactionId
256
postedTimestamp
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 RFC3339date-time
transactionTimestamp
ISO 8601 date-time in format
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339date-time
description
debitCreditMemo
DEBIT
or CREDIT
for this enum. Plaid expects that your organization indicates
the MEMO
(i.e., pending) status using the status
field in the transaction response rather than this field.
If your organization sends MEMO
in this DebitCreditMemo
enum, Plaid
handles this value the same as it handles DEBIT
.DEBIT
: An amount leaves the accountCREDIT
: An amount enters the accountMEMO
: A pending transaction to be completed at the end of this day.
CREDIT
, DEBIT
, MEMO
category
subCategory
status
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 dayPENDING
- A pending transactionPOSTED
- A posted transaction
AUTHORIZATION
, MEMO
, PENDING
, POSTED
amount
DebitCreditMemo
enum to determine the direction (and sign) of the transactionforeignAmount
foreignCurrency
property is also setforeignCurrency
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
, ZWL
payee
255
checkNumber
1{2 "transactionId": "someLongTermUniqueIDString",3 "referenceTransactionId": "someLongTermUniqueIDString",4 "postedTimestamp": "2021-07-15T14:46:41.375Z",5 "transactionTimestamp": "2021-07-15T14:46:41.375Z",6 "foreignCurrency": "CAD"7}
Was this helpful?
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:
fees
transactionType
If the transaction involves a security, Plaid additionally requires the following fields:
unitPrice
units
- Either of the following:
symbol
- securityId
and securityIdType
accountCategory
INVESTMENT_ACCOUNT
transactionId
status: PENDING
and status: POSTED
transactions have different IDs256
referenceTransactionId
256
postedTimestamp
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 RFC3339date-time
transactionTimestamp
ISO 8601 date-time in format
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339date-time
description
debitCreditMemo
DEBIT
or CREDIT
for this enum. Plaid expects that your organization indicates
the MEMO
(i.e., pending) status using the status
field in the transaction response rather than this field.
If your organization sends MEMO
in this DebitCreditMemo
enum, Plaid
handles this value the same as it handles DEBIT
.DEBIT
: An amount leaves the accountCREDIT
: An amount enters the accountMEMO
: A pending transaction to be completed at the end of this day.
CREDIT
, DEBIT
, MEMO
category
subCategory
status
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 dayPENDING
- A pending transactionPOSTED
- A posted transaction
AUTHORIZATION
, MEMO
, PENDING
, POSTED
amount
DebitCreditMemo
enum to determine the direction (and sign) of the transactionforeignAmount
foreignCurrency
property is also setforeignCurrency
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
, ZWL
transactionType
- 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
, XFER
securityId
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.securityIdType
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
, WKN
securityType
BOND
, DEBT
, MUTUALFUND
, DIGITALASSET
, OPTION
, OTHER
, STOCK
, SWEEP
symbol
securityId
and securityIdType
are providedcommission
fees
fees
fees
include the commission, unless your organization separately provides a value for commission
unitPrice
securityId
for transactions involving securities.Note: This field is required if the transaction involves a security
units
Note: This field is required if the transaction involves a security.
unitType
CURRENCY
, SHARES
fiAttributes
isCashEquivalent
as the attribute name and a string value of true
or false
.1{2 "transactionId": "someLongTermUniqueIDString",3 "referenceTransactionId": "someLongTermUniqueIDString",4 "postedTimestamp": "2021-07-15T14:46:41.375Z",5 "transactionTimestamp": "2021-07-15T14:46:41.375Z",6 "foreignCurrency": "CAD"7}
Was this helpful?
Loan transaction
A transaction on a loan account
accountCategory
LOAN_ACCOUNT
transactionId
status: PENDING
and status: POSTED
transactions have different IDs256
referenceTransactionId
256
postedTimestamp
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 RFC3339date-time
transactionTimestamp
ISO 8601 date-time in format
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339date-time
description
debitCreditMemo
DEBIT
or CREDIT
for this enum. Plaid expects that your organization indicates
the MEMO
(i.e., pending) status using the status
field in the transaction response rather than this field.
If your organization sends MEMO
in this DebitCreditMemo
enum, Plaid
handles this value the same as it handles DEBIT
.DEBIT
: An amount leaves the accountCREDIT
: An amount enters the accountMEMO
: A pending transaction to be completed at the end of this day.
CREDIT
, DEBIT
, MEMO
category
subCategory
status
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 dayPENDING
- A pending transactionPOSTED
- A posted transaction
AUTHORIZATION
, MEMO
, PENDING
, POSTED
amount
DebitCreditMemo
enum to determine the direction (and sign) of the transactionforeignAmount
foreignCurrency
property is also setforeignCurrency
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
, ZWL
transactionType
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
1{2 "transactionId": "someLongTermUniqueIDString",3 "referenceTransactionId": "someLongTermUniqueIDString",4 "postedTimestamp": "2021-07-15T14:46:41.375Z",5 "transactionTimestamp": "2021-07-15T14:46:41.375Z",6 "foreignCurrency": "CAD"7}
Was this helpful?
Line of credit transaction
A line-of-credit transaction
accountCategory
LOC_ACCOUNT
transactionId
status: PENDING
and status: POSTED
transactions have different IDs256
referenceTransactionId
256
postedTimestamp
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 RFC3339date-time
transactionTimestamp
ISO 8601 date-time in format
YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]
according to
IETF RFC3339date-time
description
debitCreditMemo
DEBIT
or CREDIT
for this enum. Plaid expects that your organization indicates
the MEMO
(i.e., pending) status using the status
field in the transaction response rather than this field.
If your organization sends MEMO
in this DebitCreditMemo
enum, Plaid
handles this value the same as it handles DEBIT
.DEBIT
: An amount leaves the accountCREDIT
: An amount enters the accountMEMO
: A pending transaction to be completed at the end of this day.
CREDIT
, DEBIT
, MEMO
category
subCategory
status
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 dayPENDING
- A pending transactionPOSTED
- A posted transaction
AUTHORIZATION
, MEMO
, PENDING
, POSTED
amount
DebitCreditMemo
enum to determine the direction (and sign) of the transactionforeignAmount
foreignCurrency
property is also setforeignCurrency
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
, ZWL
transactionType
ADJUSTMENT
, CHECK
, FEE
, INTEREST
, PAYMENT
, WITHDRAWAL
, PURCHASE
checkNumber
1{2 "transactionId": "someLongTermUniqueIDString",3 "referenceTransactionId": "someLongTermUniqueIDString",4 "postedTimestamp": "2021-07-15T14:46:41.375Z",5 "transactionTimestamp": "2021-07-15T14:46:41.375Z",6 "foreignCurrency": "CAD"7}
Was this helpful?
Transaction types
Investment transaction types
Plaid maps these enums to Plaid investment transaction types 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 |