> ## Documentation Index
> Fetch the complete documentation index at: https://holder.docs.fiskil.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get detailed information for a specific account

> Get account balances, liabilities, and other information.




## OpenAPI

````yaml /openapi/fdx.yml get /fdx/v6/customer/{customerId}/accounts/{accountId}
openapi: 3.0.3
info:
  version: 1.0.0
  title: Fiskil FDX API
  description: >
    The Fiskil FDX API is a subset of the FDX API specification suited to most
    Open Finance use cases. You must implement this API and configure it as your
    Data Provider's

    [Resource Server](/guide/resource_server) so your Data Provider can return
    the appropriate data once an authorisation has been created.

    ## FDX compliance


    The Fiskil FDX 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 Data Provider API and permitting
    Fiskil 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.


    ## Error handling

    When handling errors in your API it is important you return the error
    structures defined in this specification so that your responses remain FDX
    compliant. Each API defines the

    various error conditions that you may encounter and how to represent them.
  contact:
    name: Fiskil Support
    url: https://fiskil.com
    email: support@fiskil.com.au
servers:
  - url: https://api.provider.fiskil.com
security:
  - bearerAuth: []
paths:
  /fdx/v6/customer/{customerId}/accounts/{accountId}:
    get:
      tags:
        - Account Information
      summary: Get detailed information for a specific account
      description: |
        Get account balances, liabilities, and other information.
      operationId: getAccount
      parameters:
        - $ref: '#/components/parameters/AccountIdPath'
        - $ref: '#/components/parameters/CustomerIdPath'
      responses:
        '200':
          description: >
            The full details of an investment, loan, deposit, or line of credit
            account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountWithDetails'
        '404':
          $ref: '#/components/responses/responseErrorCustomerIdNotFound'
        '409':
          description: |
            Account is closed [optional]
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountIsClosedError'
        '422':
          description: |
            Account type not supported [optional]
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTypeNotSupportedError'
        '500':
          description: |
            Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '503':
          description: |
            Scheduled maintenance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledMaintenanceError'
components:
  parameters:
    AccountIdPath:
      name: accountId
      in: path
      description: >
        Account identifier, found in the `GET /accounts` endpoint response.


        **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'
    CustomerIdPath:
      name: customerId
      in: path
      description: >
        Unique identifier for the user the account belongs to. This will be the
        user that authorized the data sharing.
      required: true
      schema:
        $ref: '#/components/schemas/Identifier'
  schemas:
    AccountWithDetails:
      title: Account With Details entity
      description: |
        An account with full details.
      type: object
      discriminator:
        propertyName: accountCategory
        mapping:
          DEPOSIT_ACCOUNT:
            $ref: '#/components/schemas/DepositAccount'
          INVESTMENT_ACCOUNT:
            $ref: '#/components/schemas/InvestmentAccount'
          LOAN_ACCOUNT:
            $ref: '#/components/schemas/LoanAccount'
          LOC_ACCOUNT:
            $ref: '#/components/schemas/LineOfCreditAccount'
      oneOf:
        - $ref: '#/components/schemas/DepositAccount'
        - $ref: '#/components/schemas/LoanAccount'
        - $ref: '#/components/schemas/LineOfCreditAccount'
        - $ref: '#/components/schemas/InvestmentAccount'
    AccountIsClosedError:
      title: Account Is Closed Error
      description: Error response when the API does not support closed accounts
      type: object
      properties:
        code:
          type: integer
          description: |
            FDX Error code for account is closed
          enum:
            - 705
          example: 705
        message:
          type: string
          description: >
            End user displayable information which might help the customer
            diagnose an error
        debugMessage:
          type: string
          description: >
            Message used to debug the root cause of the error. Provider can
            include an error GUID in message for their use
      required:
        - code
        - message
      example:
        code: 705
        message: Account is closed
        debugMessage: Operation is not supported by the closed account
    AccountTypeNotSupportedError:
      title: Account Type Not Supported Error
      description: >-
        Error response when the API does not supported the type of account
        requested
      type: object
      properties:
        code:
          type: integer
          description: |
            FDX Error code for account type not supported
          enum:
            - 704
          example: 704
        message:
          type: string
          description: >
            End user displayable information which might help the customer
            diagnose an error
        debugMessage:
          type: string
          description: >
            Message used to debug the root cause of the error. Provider can
            include an error GUID in message for their use
      required:
        - code
        - message
      example:
        code: 704
        message: Account type not supported
        debugMessage: The account type does not support the selected action
    InternalServerError:
      title: Internal Server Error
      description: Error response for internal server errors
      type: object
      properties:
        code:
          type: integer
          description: |
            FDX Error code for internal server error
          enum:
            - 500
          example: 500
        message:
          type: string
          description: >
            End user displayable information which might help the customer
            diagnose an error
        debugMessage:
          type: string
          description: >
            Message used to debug the root cause of the error. Provider can
            include an error GUID in message for their use
      required:
        - code
        - message
      example:
        code: 500
        message: Internal server error
        debugMessage: Provider custom developer-level error details for troubleshooting
    ScheduledMaintenanceError:
      title: Scheduled Maintenance Error
      description: Error response when system is under scheduled maintenance
      type: object
      properties:
        code:
          type: integer
          description: |
            FDX Error code for scheduled maintenance
          enum:
            - 503
          example: 503
        message:
          type: string
          description: >
            End user displayable information which might help the customer
            diagnose an error
        debugMessage:
          type: string
          description: >
            Message used to debug the root cause of the error. Provider can
            include an error GUID in message for their use
      required:
        - code
        - message
      example:
        code: 503
        message: Scheduled maintenance
        debugMessage: >-
          System is down for maintenance. Retry-After HTTP header may be used to
          communicate estimated time of recovery
    Identifier:
      title: Identifier
      description: |
        Value for a unique identifier
      type: string
      maxLength: 256
      example: someLongTermUniqueIDString
    DepositAccount:
      title: Deposit Account
      description: >
        Full details of a deposit account.

        You should use 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](#deposit-account-types) listed below.
      type: object
      allOf:
        - $ref: '#/components/schemas/DepositAccountDescriptor'
        - type: object
          properties:
            currentBalance:
              type: number
              example: 1399.02
              description: >
                The total amount of money in the account (sum of all
                posted/cleared transactions, not including pending
                transactions).
            availableBalance:
              type: number
              example: 1399.02
              description: >
                The money in the account available to spend (sum of all
                transactions, plus or minus pending transactions).
          required:
            - currentBalance
            - availableBalance
    InvestmentAccount:
      title: Investment Account
      description: >
        Full details of an investment account.

        You should use 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: 3209.54
              description: |
                Cash balance across all sub-accounts.
            balanceAsOf:
              $ref: '#/components/schemas/Timestamp'
              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
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)
            currentValue:
              type: number
              example: 34938.2
              description: |
                Total current value of all investments
            holdings:
              type: array
              description: |
                Holdings in the investment account.
              items:
                $ref: '#/components/schemas/Holding'
          required:
            - availableCashBalance
            - currentValue
    LoanAccount:
      title: Loan Account
      type: object
      description: >
        Full details of a loan account. The `accountType` field for loan
        accounts may be set to any of the [account types](#loan-account-types)
        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`


        You should provide a decimal amount with two places (to represent
        fractional values of the base currency) for all monetary amounts. For
        example, `"escrowBalance": 192.00`
      allOf:
        - $ref: '#/components/schemas/LoanAccountDescriptor'
        - type: object
          properties:
            accountNumber:
              type: string
              example: loanAccount0000001
              description: >
                Full account number for the end user's handle for the account at
                the owning institution


                Required for accountType 'MORTGAGE'
            principalBalance:
              type: number
              example: 580303.95
              description: |
                Principal balance
            escrowBalance:
              type: number
              example: 3400.61
              description: |
                Escrow balance of loan
            originalPrincipal:
              type: number
              example: 650400
              description: |
                Original principal of loan
            originatingDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Date loan originated


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            loanTerm:
              type: integer
              example: 360
              description: |
                Term of loan in months
            nextPaymentAmount:
              type: number
              example: 2483.12
              description: |
                Amount of next payment
            nextPaymentDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Due date of next payment


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            lastPaymentAmount:
              type: number
              example: 2483.12
              description: |
                Amount of last payment
            lastPaymentDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Last payment date


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            maturityDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Maturity date


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            interestPaidYearToDate:
              type: number
              description: |
                Interest paid year to date
            interestRate:
              type: number
              example: 0.075
              description: |
                The account's interest rate
            interestRateType:
              $ref: '#/components/schemas/InterestRateType'
          required:
            - principalBalance
            - interestRate
            - interestRateType
    LineOfCreditAccount:
      title: Line of Credit account
      type: object
      description: >
        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](#line-of-credit-account-types) listed below.
      allOf:
        - $ref: '#/components/schemas/LineOfCreditAccountDescriptor'
        - type: object
          properties:
            creditLine:
              type: number
              description: |
                Credit limit
            availableCredit:
              type: number
              description: >
                Available credit. Required for all accountTypes except for
                `CHARGE`
            nextPaymentAmount:
              type: number
              description: |
                Amount of next payment
            nextPaymentDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Due date of next payment


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            principalBalance:
              type: number
              description: |
                Principal balance
            currentBalance:
              type: number
              example: 1722.81
              description: |
                Current balance of line of credit
            minimumPaymentAmount:
              type: number
              description: |
                Minimum payment amount
            lastPaymentAmount:
              type: number
              description: |
                Amount of last payment
            lastPaymentDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Last payment date


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            pastDueAmount:
              type: number
              description: >
                Amount owed that the account holder failed to pay on the due
                date
            lastStmtBalance:
              type: number
              description: |
                Last statement balance
            lastStmtDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Last statement date


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            purchasesApr:
              type: number
              description: |
                Annual percentage rate for purchases
            advancesApr:
              type: number
              description: |
                Annual percentage rate for cash advances
          required:
            - currentBalance
    GenericError:
      example:
        error: An error message
      type: object
      properties:
        error:
          type: string
          description: A message describing what caused the error
      required:
        - error
    DepositAccountDescriptor:
      title: Deposit account
      description: >
        A deposit account. For example, a checking, savings or money market
        account.


        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.
      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
    InvestmentAccountDescriptor:
      title: Investment account
      description: >
        An investment account. For example, a 401K or IRA.


        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
    Timestamp:
      title: Timestamp
      description: >
        ISO 8601 date-time in format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]`
        according to

        [IETF
        RFC3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6)
      type: string
      format: date-time
      example: '2021-07-15T14:46:41.375Z'
    Holding:
      title: Holding entity
      description: |
        A holding in an investment account.
        Holdings in the investment account.
      allOf:
        - type: object
          properties:
            securityIds:
              description: |
                Array of security identifiers
              type: array
              items:
                $ref: '#/components/schemas/SecurityId'
            holdingName:
              type: string
              description: |
                Holding name or security name
            holdingType:
              $ref: '#/components/schemas/HoldingType'
            holdingSubType:
              $ref: '#/components/schemas/HoldingSubType'
            symbol:
              type: string
              description: >
                Ticker / Market symbol

                This field is **required** unless both `securityId` and
                `securityIdType` are provided
            purchasedPrice:
              type: number
              description: |
                Price of holding at the time of purchase.
            currentUnitPrice:
              type: number
              description: |
                Current unit price.
            currentUnitPriceDate:
              $ref: '#/components/schemas/DateString'
              description: >
                Current unit price as of date


                ISO 8601 full-date in format 'YYYY-MM-DD' according

                to [IETF
                RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
            units:
              type: number
              description: >
                **Note:** This field is required if the transaction involves a
                security.
            marketValue:
              type: number
              description: |
                Market value at the time of data retrieved
            faceValue:
              type: number
              description: |
                Required for bonds. Face value at the time of data retrieved.
            cashAccount:
              type: boolean
              description: >
                If true, indicates that this holding is used to maintain
                proceeds

                from sales, dividends, and other cash postings to the investment
                account.
            currency:
              $ref: '#/components/schemas/Currency'
              description: |
                Currency information if it is different from Account entity
            fiAttributes:
              type: array
              description: |
                Array of financial institution-specific attributes.
              items:
                $ref: '#/components/schemas/FiAttribute'
          required:
            - cashAccount
            - marketValue
    LoanAccountDescriptor:
      title: Loan account
      description: >
        A loan account. For example, mortgage, student loan or auto loan.


        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.
      allOf:
        - $ref: '#/components/schemas/AccountDescriptor'
        - type: object
          properties:
            accountCategory:
              type: string
              example: LOAN_ACCOUNT
              enum:
                - LOAN_ACCOUNT
            accountType:
              $ref: '#/components/schemas/LoanAccountType'
          required:
            - accountType
            - accountCategory
    DateString:
      title: Date String
      description: >
        ISO 8601 full-date in format 'YYYY-MM-DD' according

        to [IETF
        RFC3339](https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6)
      type: string
      format: date
      maxLength: 10
      example: '2021-07-15'
    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
      enum:
        - FIXED
        - VARIABLE
    LineOfCreditAccountDescriptor:
      title: Line-of-credit account
      description: >
        A line-of-credit account. For example, a credit card or home equity line
        of credit.


        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
    AccountDescriptor:
      type: object
      discriminator:
        propertyName: accountCategory
      properties:
        accountCategory:
          $ref: '#/components/schemas/AccountCategory'
        accountId:
          $ref: '#/components/schemas/Identifier'
          description: >
            Long-term persistent identity of the account, though not an account
            number.

            This identity must be unique within your organization.
        accountNumberDisplay:
          description: >
            Account display number for the end user's handle at the owning
            financial

            institution.

            The last 4 digits of this masked number should 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
    DepositAccountType:
      description: |
        The account type.
      type: string
      example: SAVINGS
      enum:
        - CHECKING
        - SAVINGS
        - CD
        - ESCROW
        - MONEYMARKET
        - OTHERDEPOSIT
    InvestmentAccountType:
      description: |
        The account type.
      type: string
      example: ROTH
      enum:
        - 401A
        - 401K
        - 403B
        - '529'
        - BROKERAGEPRODUCT
        - COVERDELL
        - DIGITALASSET
        - DEFINEDBENEFIT
        - ESOP
        - GUARDIAN
        - INSTITUTIONALTRUST
        - IRA
        - KEOGH
        - NONQUALIFIEDPLAN
        - OTHERINVESTMENT
        - ROLLOVER
        - ROTH
        - SARSEP
        - TAXABLE
        - TDA
        - TRUST
        - TERM
        - UGMA
        - UTMA
    SecurityId:
      title: Security ID entity
      description: |
        Unique identifier for a security
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Identifier'
        idType:
          $ref: '#/components/schemas/SecurityIdType'
    HoldingType:
      title: Holding Type
      type: string
      enum:
        - ANNUITY
        - BOND
        - CD
        - DIGITALASSET
        - MUTUALFUND
        - OPTION
        - OTHER
        - STOCK
    HoldingSubType:
      title: Holding SubType
      description: |
        The subtype of an investment holding.
      type: string
      enum:
        - CASH
        - MONEYMARKET
    Currency:
      title: Currency entity
      description: Currency of the account balances
      type: object
      example:
        currencyCode: CAD
      properties:
        currencyCode:
          $ref: '#/components/schemas/Iso4217Code'
      required:
        - currencyCode
    FiAttribute:
      title: FI Attribute entity
      description: |
        Financial institution-specific attribute.
      type: object
      properties:
        name:
          type: string
          description: |
            Name of the financial institution-specific attribute
        value:
          type: string
          description: |
            Value of the financial institution-specific attribute
    LoanAccountType:
      description: |
        The account type.
      type: string
      example: HOMEEQUITYLOAN
      enum:
        - AUTOLOAN
        - HOMEEQUITYLOAN
        - INSTALLMENT
        - LOAN
        - MILITARYLOAN
        - MORTGAGE
        - PERSONALLOAN
        - SMBLOAN
        - STUDENTLOAN
    LineOfCreditAccountType:
      description: |
        The account type.
      type: string
      example: CREDITCARD
      enum:
        - LINEOFCREDIT
        - CHARGE
        - CREDITCARD
        - HOMELINEOFCREDIT
    AccountCategory:
      title: Account Category type
      description: >
        The category of account. For example, annuity, commercial, deposit,
        insurance, investment, loan, or line of credit.
      enum:
        - ANNUITY_ACCOUNT
        - COMMERCIAL_ACCOUNT
        - DEPOSIT_ACCOUNT
        - INSURANCE_ACCOUNT
        - INVESTMENT_ACCOUNT
        - LOAN_ACCOUNT
        - LOC_ACCOUNT
    AccountStatus:
      title: Account Status
      description: |
        Account status
      type: string
      example: OPEN
      enum:
        - CLOSED
        - DELINQUENT
        - NEGATIVECURRENTBALANCE
        - OPEN
        - PAID
        - PENDINGCLOSE
        - PENDINGOPEN
        - RESTRICTED
    SecurityIdType:
      title: Security ID Type
      description: >
        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
    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
  responses:
    responseErrorCustomerIdNotFound:
      description: The customer ID in the URL path is invalid or not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
            example:
              error: Customer not found
  securitySchemes:
    bearerAuth:
      description: >
        The Fiskil Data Provider will include a self-signed JWT as a Bearer
        token in the `Authorization` header.

        You should verify this JWT using the JWKS URL you can find for your Data
        Provider instance in the Fiskil

        Console. To verify the JWT you **must**:
          * Verify the signature
          * Ensure the token has not expired by checking the `exp` claim
          * The `sub` and `iss` claims are your data provider subdomain
          * The `aud` claim is the URI of the resource being requested (excluding any query parameters)
          * The `jti` value is unique
        For further detail on security and authentication refer to our
        [Authentication](/TODO) documentation
      type: http
      scheme: bearer
      bearerFormat: JWT

````