> ## 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 Balances For Specific Accounts

> Obtain balances for a specified list of accounts



## OpenAPI

````yaml /openapi/cdr.yml post /v1/banking/customer/{customerId}/accounts/balances
openapi: 3.0.3
info:
  description: Fiskil Data Holder as a Service (DHaaS) endpoints for the Energy sector
  title: Fiskil Data APIs
  version: 1.5.0
servers:
  - url: https://api.provider.fiskil.com
security:
  - bearerAuth: []
paths:
  /v1/banking/customer/{customerId}/accounts/balances:
    post:
      tags:
        - Banking
        - Accounts
      summary: Get Balances For Specific Accounts
      description: Obtain balances for a specified list of accounts
      operationId: listBalancesSpecificAccounts
      parameters:
        - $ref: '#/components/parameters/customerId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/page-size'
        - $ref: '#/components/parameters/productCategory'
        - $ref: '#/components/parameters/open-status'
        - $ref: '#/components/parameters/is-owned'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestAccountIds'
        description: The list of account IDs to obtain balances for
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBankingAccountsBalanceList'
          description: List of balances for each account
        '404':
          $ref: '#/components/responses/responseErrorCustomerIdNotFound'
        '422':
          $ref: '#/components/responses/responseErrorAccountsNotInBody'
components:
  parameters:
    customerId:
      description: >-
        Unique ID of a customer. This ID must not change for the lifecycle of
        the customer
      explode: false
      in: path
      name: customerId
      required: true
      schema:
        type: string
      style: simple
    page:
      description: Page of results to request (standard pagination)
      explode: true
      in: query
      name: page
      required: false
      schema:
        type: integer
      style: form
      x-cds-type: PositiveInteger
    page-size:
      description: Page size to request.  Default is 25 (standard pagination)
      explode: true
      in: query
      name: page-size
      required: false
      schema:
        type: integer
      style: form
      x-cds-type: PositiveInteger
    productCategory:
      description: >-
        Used to filter results on the productCategory field applicable to
        accounts. Any one of the valid values for this field can be supplied. If
        absent then all accounts returned.)
      explode: true
      in: query
      name: product-category
      required: false
      schema:
        enum:
          - BUSINESS_LOANS
          - CRED_AND_CHRG_CARDS
          - LEASES
          - MARGIN_LOANS
          - OVERDRAFTS
          - PERS_LOANS
          - REGULATED_TRUST_ACCOUNTS
          - RESIDENTIAL_MORTGAGES
          - TERM_DEPOSITS
          - TRADE_FINANCE
          - TRANS_AND_SAVINGS_ACCOUNTS
          - TRAVEL_CARDS
        type: string
      style: form
    open-status:
      description: >-
        Used to filter results according to open/closed status. Values can be
        OPEN, CLOSED or ALL. If absent then ALL is assumed
      explode: true
      in: query
      name: open-status
      required: false
      schema:
        default: ALL
        enum:
          - ALL
          - CLOSED
          - OPEN
        type: string
      style: form
    is-owned:
      description: >-
        Filters accounts based on whether they are owned by the authorised
        customer.  True for owned accounts, false for unowned accounts and
        absent for all accounts
      explode: true
      in: query
      name: is-owned
      required: false
      schema:
        type: boolean
      style: form
  schemas:
    RequestAccountIds:
      properties:
        data:
          $ref: '#/components/schemas/RequestAccountIds_data'
      required:
        - data
      type: object
    ResponseBankingAccountsBalanceList:
      example:
        data:
          balances:
            - accountId: 06aeb155-d136-4e60-bfdc-0c0147e107a6
              currentBalance: '1000.00'
              availableBalance: '900.00'
        links:
          first: page=1&page-size=25&oldest-date=2023-04-24
          last: page=4&page-size=25&oldest-date=2023-04-24
          next: page=3&page-size=25&oldest-date=2023-04-24
          prev: page=1&page-size=25&oldest-date=2023-04-24
        meta:
          totalRecords: 1
          totalPages: 1
      properties:
        data:
          $ref: '#/components/schemas/ResponseBankingAccountsBalanceList_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
        - data
        - links
        - meta
      type: object
    RequestAccountIds_data:
      properties:
        accountIds:
          items:
            description: Array of specific accountIds to obtain authorisations for
            type: string
            x-cds-type: ASCIIString
          type: array
      required:
        - accountIds
      type: object
    ResponseBankingAccountsBalanceList_data:
      properties:
        balances:
          description: The list of balances returned
          items:
            $ref: '#/components/schemas/BankingBalance'
          type: array
      required:
        - balances
      type: object
    LinksPaginated:
      description: >-
        URL Query parameters to obtain different pages of the response. Fiskil
        will combine these with the rest of the request URL to build full link
        URLs in the final response.
      example:
        first: page=1&page-size=25&oldest-date=2023-04-24
        last: page=4&page-size=25&oldest-date=2023-04-24
        next: page=3&page-size=25&oldest-date=2023-04-24
        prev: page=1&page-size=25&oldest-date=2023-04-24
      properties:
        first:
          description: >-
            A url-encoded query for the first page of this result set. Mandatory
            if this response is not the first page.
          type: string
        prev:
          description: >-
            A url-encoded query for the previous page. Mandatory if this
            response is not the first page
          type: string
        next:
          description: >-
            A url-encoded query for the next page. Mandatory if this response is
            not the last page.
          type: string
        last:
          description: >-
            A url-encoded query for the last page. Mandatory if this response is
            not the last page.
          type: string
      type: object
    MetaPaginated:
      example:
        totalRecords: 150
        totalPages: 6
      properties:
        totalRecords:
          description: >-
            The total number of records in the full set. See
            [pagination](#pagination).
          type: integer
          x-cds-type: NaturalNumber
        totalPages:
          description: >-
            The total number of pages in the full set. See
            [pagination](#pagination).
          type: integer
          x-cds-type: NaturalNumber
      required:
        - totalPages
        - totalRecords
      type: object
    GenericError:
      example:
        error: An error message
      type: object
      properties:
        error:
          type: string
          description: A message describing what caused the error
      required:
        - error
    BankingBalance:
      properties:
        accountId:
          description: >-
            A unique ID of the account adhering to the standards for ID
            permanence
          type: string
          x-cds-type: ASCIIString
        currentBalance:
          description: >-
            The balance of the account at this time. Should align to the balance
            available via other channels such as Internet Banking. Assumed to be
            negative if the customer has money owing
          type: string
          x-cds-type: AmountString
        availableBalance:
          description: >-
            Balance representing the amount of funds available for transfer.
            Assumed to be zero or positive
          type: string
          x-cds-type: AmountString
        creditLimit:
          description: >-
            Object representing the maximum amount of credit that is available
            for this account. Assumed to be zero if absent
          type: string
          x-cds-type: AmountString
        amortisedLimit:
          description: >-
            Object representing the available limit amortised according to
            payment schedule. Assumed to be zero if absent
          type: string
          x-cds-type: AmountString
        currency:
          description: The currency for the balance amounts. If absent assumed to be AUD
          type: string
          x-cds-type: CurrencyString
        purses:
          description: >-
            Optional array of balances for the account in other currencies.
            Included to support accounts that support multi-currency purses such
            as Travel Cards
          items:
            $ref: '#/components/schemas/BankingBalancePurse'
          type: array
      required:
        - accountId
        - availableBalance
        - currentBalance
      type: object
    BankingBalancePurse:
      properties:
        amount:
          description: The balance available for this additional currency purse
          type: string
          x-cds-type: AmountString
        currency:
          description: The currency for the purse
          type: string
          x-cds-type: CurrencyString
      required:
        - amount
      type: object
  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
    responseErrorAccountsNotInBody:
      description: One or more of the accounts specified in the request body do not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
            example:
              error: Account in query 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](/docs/get-started/authentication) documentation
      type: http
      scheme: bearer
      bearerFormat: JWT

````