Financial Data Exchange (FDX) Account Information API
Search and view customer accounts
Search and view customer accounts
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fdx-account-information-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 6.0.0
title: FDX V6.0.0 Account Information API
description: "## FDX compliance\n\nThe 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\nLicense Agreement, which can be found at https://financialdataexchange.org/. The FDX API specification is distributed exclusively by FDX. Modifications to eliminate required or\nconditional 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.\nPlease note that building the FDX-compliant Core Exchange API and permitting Plaid to call your build constitutes acceptance of\nthe FDX end user license agreement, which can be found at https://financialdataexchange.org/.\nThe full FDX API standard specification is distributed exclusively by FDX.\n\n## Download the specification\n\nTo view this specification and documentation as an OpenAPI YAML file, see [the public Core Exchange Github repository](https://github.com/plaid/core-exchange/tree/main/versions).\n\n## Endpoints\n\nThis specification contains the following endpoints:\n\n - `/customers/current`\n\n - `/accounts`\n\n - `/accounts/{accountId}`\n\n - `/accounts/{accountId}/payment-networks`\n\n - `/accounts/{accountId}/asset-transfer-networks`\n\n - `/accounts/{accountId}/statements`\n\n - `/accounts/{accountId}/statements/{statementId}`\n\n - `/accounts/{accountId}/contact`\n\n - `/accounts/{accountId}/transactions`\n\n## Error responses\n\nAn 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.\nError responses must contain a `code` and `message`, and may optionally include a `debugMessage`.\nSee the descriptions below:\n\n- `code`: The FDX error code: A long-term persistent identifier which can be used to trace error condition back to log information.\n (**Note:** This code may differ from the HTTP status code.)\n- `message`: End user displayable information which might help the customer diagnose an error\n- `debugMessage`: 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\n\n### Example error\n\nThe following is an example response with an HTTP status code of 409.\n\n```\n{\n \"code\": 705,\n \"message\": \"Account is closed\",\n \"debugMessage\": \"Operation is not supported by the closed account\"\n}\n```\n\nSee the Errors table in each endpoint description for more specific message and debug message examples.\n"
contact:
name: Plaid support
url: https://plaid.com/data-connectivity-core-exchange/
email: dataconnectivity@plaid.com
servers:
- url: https://api.your-organization.com/fdx/v6
description: Financial Data Exchange V6.0 Core API
tags:
- name: Account Information
description: Search and view customer accounts
paths:
/accounts:
get:
operationId: searchForAccounts
tags:
- Account Information
summary: List all accounts
description: 'Search and view customer accounts.
'
security:
- openIdConnect:
- Account
- oauth2:
- Account
parameters:
- $ref: '#/components/parameters/OffsetQuery'
- $ref: '#/components/parameters/LimitQuery'
responses:
'200':
description: 'An array of accounts. May include accounts of any of the following types: [deposit](#deposit-account), [investment](#investment-account), [line of credit](#line-of-credit-account), [loan](#loan-account)
**Note:** Each object in the accounts array is expected to contain at least one account type.
'
content:
application/json:
schema:
$ref: '#/components/schemas/Accounts'
example:
page:
nextOffset: B47D80MVP23T
accounts:
- accountCategory: DEPOSIT_ACCOUNT
accountId: depositAccount0000001
accountType: CHECKING
accountNumberDisplay: '5820'
productName: Checking
nickname: Main Checking
status: OPEN
currency:
currencyCode: USD
- accountCategory: LOAN_ACCOUNT
accountId: loanAccount0000001
accountType: LOAN
accountNumberDisplay: '4704'
productName: Loan
nickname: Primary Loan
status: OPEN
currency:
currencyCode: USD
- accountCategory: LOC_ACCOUNT
accountId: locAccount0000001
accountType: LINEOFCREDIT
accountNumberDisplay: '8200'
productName: Line of Credit
nickname: First plaidypus LOC
status: OPEN
currency:
currencyCode: USD
- accountCategory: INVESTMENT_ACCOUNT
accountId: investmentAccount0000001
accountType: TAXABLE
accountNumberDisplay: '1050'
productName: Brokerage Account
nickname: First plaidypus Brokerage
status: OPEN
currency:
currencyCode: USD
/accounts/{accountId}:
get:
operationId: getAccount
tags:
- Account Information
summary: Get detailed information for a specific account
description: 'Get account balances, liabilities, and other information. Plaid calls this endpoint for [deposit](#deposit-account), [investment](#investment-account), [loan](#loan-account), and [line of credit](#line-of-credit-account) accounts. Plaid uses this endpoint to get balances for deposit accounts, get liabilities for `STUDENTLOAN`, `MORTGAGE`, and `CREDITCARD` loan accounts, and get balances and holdings for investment accounts.
See [Plaid Balance API](https://plaid.com/docs/api/products/balance/), [Plaid Liabilities API](https://plaid.com/docs/api/products/liabilities/), and [Plaid Investments API](https://plaid.com/docs/investments/) for more information on how Plaid uses this information.
**Info**: Plaid does not call `/accounts/{accountId}` for annuity accounts, commercial accounts, or insurance accounts. These account categories are discoverable-only. The accounts appear in `GET /accounts`, but Plaid does not consume downstream data (balances, transactions, Auth) for these categories.
'
security:
- openIdConnect:
- Account
- oauth2:
- Account
parameters:
- $ref: '#/components/parameters/AccountIdPath'
responses:
'200':
description: 'The full details of an investment, loan, deposit, or line of credit account
'
content:
application/json:
schema:
$ref: '#/components/schemas/AccountWithDetails'
components:
parameters:
OffsetQuery:
name: offset
in: query
description: 'An opaque ID that indicates there is at least one more page of data available. This value does not need to be numeric or have any specific pattern. If provided, Plaid will use this value to send a new request and retrieve the next page. Omitting this value indicates that there is no more data to retrieve.
'
schema:
type: string
example: qwer123454q2f
AccountIdPath:
name: accountId
in: path
description: 'Account identifier, found in the `GET /accounts` endpoint response.
Plaid expects the ID to be a different value from the account number
**Note:** If the status of the `accountId` provided is `RESTRICTED`, you can send a 200 response with an empty body to indicate that no payment networks are available at this time.
'
required: true
schema:
$ref: '#/components/schemas/Identifier'
LimitQuery:
name: limit
in: query
description: 'The number of elements that the API consumer wishes to receive. Plaid has a default limit of 100 elements. If your organization has a different limit, use the lower limit to determine how many items to send per page. To retrieve multiple pages, Plaid will use the opaque `nextOffset` field to send a subsequent request until the `nextOffset` is no longer included.
'
schema:
type: integer
schemas:
InsuranceAccountType:
description: 'The account type.
Plaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.
'
type: string
example: WHOLELIFE
enum:
- LONGTERMDISABILITY
- SHORTTERMDISABILITY
- UNIVERSALLIFE
- WHOLELIFE
Iso4217Code:
title: ISO 4217 Code
description: 'Currency, fund and precious metal codes as of Jan. 1, 2023 per [ISO 4217 Currency Code Maintenance](https://www.six-group.com/en/products-services/financial-information/data-standards.html)
'
type: string
example: CAD
enum:
- 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
InterestRateType:
title: Interest Rate Type
description: 'Specifies whether an interest rate is fixed or variable. This information is helpful for personal financial planning and advising. For example, it affects the potential benefits of refinancing, and informs whether a mortgage payment is expected to change in the future
'
type: string
example: FIXED
enum:
- FIXED
- VARIABLE
DepositAccountType:
description: 'The account type.
Plaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.
'
type: string
example: SAVINGS
enum:
- CHECKING
- SAVINGS
- CD
- ESCROW
- MONEYMARKET
- OTHERDEPOSIT
Currency:
title: Currency entity
description: 'A currency object containing an [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code.
'
type: object
example:
currencyCode: CAD
properties:
currencyCode:
$ref: '#/components/schemas/Iso4217Code'
required:
- currencyCode
InvestmentAccountDescriptor:
description: '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.
'
allOf:
- $ref: '#/components/schemas/AccountDescriptor'
- type: object
properties:
accountCategory:
type: string
example: INVESTMENT_ACCOUNT
enum:
- INVESTMENT_ACCOUNT
accountType:
$ref: '#/components/schemas/InvestmentAccountType'
required:
- accountType
- accountCategory
AccountDescriptor:
title: Account Descriptor entity
description: 'This descriptor provides minimal information about the account for use in lightweight arrays
'
type: object
discriminator:
propertyName: accountCategory
properties:
accountCategory:
$ref: '#/components/schemas/AccountCategory'
accountId:
description: 'Long-term persistent identity of the account, though not an account number.
This identity must be unique within your organization.
'
$ref: '#/components/schemas/Identifier'
accountNumberDisplay:
description: 'Account display number for the end user''s handle at the owning financial
institution.
Plaid expects that the last 4 digits of this masked number correspond to the last 4 digits of the account number.
'
type: string
example: '4321'
productName:
type: string
example: Premier Account
description: 'Marketed product name for this account. Used in UIs to assist in account selection
'
nickname:
description: 'Account nickname
'
type: string
status:
$ref: '#/components/schemas/AccountStatus'
currency:
$ref: '#/components/schemas/Currency'
required:
- accountCategory
- accountId
- productName
- status
- currency
AccountWithDescriptor:
title: Account entity
description: 'This provides an instance of an account without full details. Plaid expects that the `accountType` field is set to one of the [account types](#account-types) listed below
'
type: object
discriminator:
propertyName: accountCategory
mapping:
ANNUITY_ACCOUNT: '#/components/schemas/AnnuityAccountDescriptor'
COMMERCIAL_ACCOUNT: '#/components/schemas/CommercialAccountDescriptor'
DEPOSIT_ACCOUNT: '#/components/schemas/DepositAccountDescriptor'
INSURANCE_ACCOUNT: '#/components/schemas/InsuranceAccountDescriptor'
INVESTMENT_ACCOUNT: '#/components/schemas/InvestmentAccountDescriptor'
LOAN_ACCOUNT: '#/components/schemas/LoanAccountDescriptor'
LOC_ACCOUNT: '#/components/schemas/LineOfCreditAccountDescriptor'
oneOf:
- $ref: '#/components/schemas/AnnuityAccountDescriptor'
- $ref: '#/components/schemas/CommercialAccountDescriptor'
- $ref: '#/components/schemas/DepositAccountDescriptor'
- $ref: '#/components/schemas/InsuranceAccountDescriptor'
- $ref: '#/components/schemas/InvestmentAccountDescriptor'
- $ref: '#/components/schemas/LoanAccountDescriptor'
- $ref: '#/components/schemas/LineOfCreditAccountDescriptor'
PageMetadata:
title: Page Metadata
description: 'Contains the opaque identifier, `nextOffset`, to indicate a paginated result set.
'
type: object
properties:
nextOffset:
type: string
example: B47D80MVP23T
description: 'Opaque offset identifier
'
totalElements:
type: integer
example: 3
description: 'Total number of elements
'
CommercialAccountDescriptor:
description: 'A commercial account. For example, a business deposit account. The `accountType` field for commercial accounts may be set to any of the [account types](#commercial-account-types) listed below.
**Note:** Commercial accounts are discoverable-only. Plaid does not consume downstream data (balances, transactions, Auth) for commercial accounts.
'
allOf:
- $ref: '#/components/schemas/AccountDescriptor'
- type: object
properties:
accountCategory:
type: string
example: COMMERCIAL_ACCOUNT
enum:
- COMMERCIAL_ACCOUNT
accountType:
$ref: '#/components/schemas/CommercialAccountType'
required:
- accountType
- accountCategory
DepositAccountDescriptor:
description: '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.
**Consumption scope:**
- **Balances**: Plaid returns balances for all deposit account types.
- **Auth**: Plaid only consumes `CHECKING` and `SAVINGS` by default for Auth. The following types are not Auth-eligible unless allowlisted: `CD`, `MONEYMARKET`, `ESCROW`, `HIGHINTERESTSAVINGSACCOUNT`, `FIRSTHOMESAVINGSACCOUNT`, `OTHERDEPOSIT`.
- **Transactions**: Plaid consumes transactions only for accounts mapped to `depository` (CHECKING, SAVINGS, CD, MONEYMARKET). Other deposit types mapped to `other/other` return balances only (no Auth, no transactions).
'
allOf:
- $ref: '#/components/schemas/AccountDescriptor'
- type: object
properties:
accountCategory:
type: string
example: DEPOSIT_ACCOUNT
enum:
- DEPOSIT_ACCOUNT
accountType:
$ref: '#/components/schemas/DepositAccountType'
required:
- accountType
- accountCategory
SecurityIdType:
title: Security ID Type
description: 'Plaid consumes solely CUSIP, ISIN, and SEDOL.
This field, along with `securityId` are **required** unless `symbol` is provided.
**Note:** If `securityIdType` is provided, `securityId` is required.
'
type: string
enum:
- CINS
- CMC
- CME
- CUSIP
- ISIN
- ITSA
- NASDAQ
- SEDOL
- SICC
- VALOR
- WKN
InvestmentAccount:
description: '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`
'
type: object
allOf:
- $ref: '#/components/schemas/InvestmentAccountDescriptor'
- type: object
properties:
availableCashBalance:
type: number
example: 8302.18
description: 'Cash balance across all sub-accounts. Plaid expects that this includes sweep funds
'
balanceAsOf:
description: 'Date and time of the balance
ISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to
[IETF RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)
'
$ref: '#/components/schemas/Timestamp'
currentValue:
type: number
example: 3702.19
description: 'Total current value of all investments
'
holdings:
type: array
description: 'Holdings in the investment account.
Plaid maps the `holding` and the `investmentAccount` FDX models to its securities models, which hold universal information like the ticker symbol, and to its holdings models, which hold account-specific information like balances. For more information, see [Plaid investments](https://plaid.com/docs/investments/#securities-and-holdings)
'
items:
$ref: '#/components/schemas/Holding'
example:
- securityIds:
- id: '123456789'
idType: CUSIP
holdingName: Apple Inc.
holdingType: STOCK
holdingSubType: CASH
symbol: AAPL
purchasedPrice: 150.0
currentUnitPrice: 175.0
currentUnitPriceDate: '2023-10-01'
units: 1
marketValue: 1750.0
cashAccount: true
currency:
currencyCode: USD
fiAttributes:
- name: isCashEquivalent
value: 'false'
required:
- availableCashBalance
- currentValue
Accounts:
title: Accounts entity
type: object
description: 'An optionally paginated array of account descriptors. Each account descriptor is sent as a key-value pair, with the account descriptor object as the value and the account type as the key. Accepted keys include: [`annuityAccount`](#annuity-account-descriptor), [`commercialAccount`](#commercial-account-descriptor), [`depositAccount`](#deposit-account-descriptor), [`investmentAccount`](#investment-account-descriptor), [`locAccount`](#line-of-credit-account-descriptor), [`loanAccount`](#loan-account-descriptor), and [`insuranceAccount`](#insurance-account-descriptor).
'
allOf:
- $ref: '#/components/schemas/PaginatedArray'
- type: object
properties:
accounts:
type: array
description: 'An optionally paginated array of account descriptors. Each account descriptor is sent as a key-value pair, with the account descriptor object as the value and the account type as the key. Accepted keys include: [`annuityAccount`](#annuity-account-descriptor), [`commercialAccount`](#commercial-account-descriptor), [`depositAccount`](#deposit-account-descriptor), [`investmentAccount`](#investment-account-descriptor), [`locAccount`](#line-of-credit-account-descriptor), [`loanAccount`](#loan-account-descriptor), and [`insuranceAccount`](#insurance-account-descriptor).
'
items:
$ref: '#/components/schemas/AccountWithDescriptor'
minItems: 1
required:
- accounts
Timestamp:
title: Timestamp
description: 'ISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` according to
[IETF RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)
'
type: string
format: date-time
example: '2021-07-15T14:46:41.375Z'
LineOfCreditAccountDescriptor:
description: '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.
'
type: object
allOf:
- $ref: '#/components/schemas/AccountDescriptor'
- type: object
properties:
accountCategory:
type: string
example: LOC_ACCOUNT
enum:
- LOC_ACCOUNT
accountType:
$ref: '#/components/schemas/LineOfCreditAccountType'
required:
- accountType
- accountCategory
AnnuityAccountDescriptor:
description: '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.
**Note:** Annuity accounts are discoverable-only. Plaid does not consume downstream data (balances, transactions, Auth) for annuity accounts.
'
allOf:
- $ref: '#/components/schemas/AccountDescriptor'
- type: object
properties:
accountCategory:
type: string
example: ANNUITY_ACCOUNT
enum:
- ANNUITY_ACCOUNT
accountType:
$ref: '#/components/schemas/AnnuityAccountType'
required:
- accountType
- accountCategory
LineOfCreditAccountType:
description: 'The account type.
Plaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.
'
type: string
example: CREDITCARD
enum:
- LINEOFCREDIT
- CHARGE
- CREDITCARD
- HOMELINEOFCREDIT
AccountWithDetails:
title: Account With Details entity
description: 'An account with full details.
'
type: object
discriminator:
propertyName: accountCategory
mapping:
DEPOSIT_ACCOUNT: '#/components/schemas/DepositAccount'
INVESTMENT_ACCOUNT: '#/components/schemas/InvestmentAccount'
LOAN_ACCOUNT: '#/components/schemas/LoanAccount'
LOC_ACCOUNT: '#/components/schemas/LineOfCreditAccount'
oneOf:
- $ref: '#/components/schemas/DepositAccount'
- $ref: '#/components/schemas/LoanAccount'
- $ref: '#/components/schemas/LineOfCreditAccount'
- $ref: '#/components/schemas/InvestmentAccount'
InvestmentAccountType:
description: 'The account type.
Plaid consumes basic balance account information from the `accounts/{accountId}` endpoint for a subset of the possible account types described in the FDX specification.
'
type: string
example: ROTH
enum:
- 401A
- 401K
- 403B
- '529'
- BROKERAGEPRODUCT
- COVERDELL
- DIGITALASSET
- DEFINEDBENEFIT
- DEFERREDPROFITSHARINGPLAN
- ESOP
- GUARDIAN
- INDIVIDUALPENSIONPLAN
- INSTITUTIONALTRUST
- INVESTMENTACCOUNT
- IRA
- KEOGH
- LIFEINCOMEFUND
- LOCKEDINRETIREMENTACCOUNT
- LOCKEDINRETIREMENTINCOMEFUND
- LOCKEDINRETIREMENTSAVINGSPLAN
- NONQUALIFEDPLAN
- NONQUALIFIEDPLAN
- OTHERINVESTMENT
- PRESCRIBEDREGISTEREDRETIREMENTINCOMEF
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fdx/refs/heads/main/openapi/fdx-account-information-api-openapi.yml