Financial Data Exchange (FDX) Account Information API

Search and view customer accounts

Operations 2

GET /accounts List all accounts #
GET /accounts/{accountId} Get detailed information for a specific account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fdx-account-information-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

fdx-account-information-api-openapi.yml Raw ↑
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