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

# Get Balances

> **The list below outlines the Consent Permissions that are applicable to this resource:**          
* ReadBalances

Refer to *Customer Experience Guidelines*, *Account Information*, *Data Groups* for further information.




## OpenAPI

````yaml open-finance-api/yaml/uae-account-information-openapi.yaml get /accounts/{AccountId}/balances
openapi: 3.0.0
info:
  title: UAE Account Information API
  description: '## UAE Open Finance Account Information API Specification'
  version: v1.2
servers:
  - url: /open-finance/account-information/v1.2
security: []
tags:
  - name: Account Access
    description: Account Access Consents Resource
  - name: Accounts
    description: Accounts Resource
  - name: Balances
    description: Balances Resource
  - name: Beneficiaries
    description: Beneficiaries Resource
  - name: Direct Debits
    description: Direct Debits Resource
  - name: Product
    description: Product Resource
  - name: Scheduled Payments
    description: Scheduled Payments Resource
  - name: Standing Orders
    description: Standing Orders Resource
  - name: Transactions
    description: Transactions Resource
  - name: Consents
    description: Consents Resource
  - name: Parties
    description: Parties Resource
paths:
  /accounts/{AccountId}/balances:
    get:
      tags:
        - Balances
      summary: Get Balances
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadBalances


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdBalances
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/AccountId'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
        - $ref: '#/components/parameters/x-customer-user-agent'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdBalancesRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
components:
  parameters:
    Authorization:
      name: authorization
      in: header
      required: true
      description: An authorization Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    AccountId:
      name: AccountId
      in: path
      description: AccountId
      required: true
      schema:
        type: string
    x-fapi-auth-date:
      in: header
      name: x-fapi-auth-date
      required: false
      description: >-
        The time when the User last logged in with the TPP. 

        All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
        example is below: 

        Sun, 10 Sep 2017 19:43:31 UTC
      schema:
        type: string
        pattern: >-
          ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
          (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-fapi-customer-ip-address:
      in: header
      name: x-fapi-customer-ip-address
      required: false
      description: The User's IP address if the User is currently logged in with the TPP.
      schema:
        type: string
    x-fapi-interaction-id:
      in: header
      name: x-fapi-interaction-id
      required: false
      description: An RFC4122 UID used as a correlation id.
      schema:
        type: string
    x-customer-user-agent:
      in: header
      name: x-customer-user-agent
      description: Indicates the user-agent that the User is using.
      required: false
      schema:
        type: string
  responses:
    200AccountsAccountIdBalancesRead:
      description: Balances Read
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadBalance'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadBalance'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadBalanceSigned'
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEErrorResponseSigned'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEErrorResponseSigned'
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    429Error:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Number in seconds to wait
          schema:
            type: integer
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    500Error:
      description: Internal Server Error
      headers:
        x-fapi-interaction-id:
          required: true
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEErrorResponseSigned'
  schemas:
    AEReadBalance:
      description: List of Balances for an Account
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          type: object
          description: Primary data for the resource
          required:
            - AccountId
            - Balance
          properties:
            AccountId:
              $ref: '#/components/schemas/AccountId'
            Balance:
              type: array
              items:
                $ref: '#/components/schemas/AEBalance'
              minItems: 1
          additionalProperties: false
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      additionalProperties: false
    AEReadBalanceSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadBalance'
          required:
            - message
          additionalProperties: false
    AEErrorResponse:
      description: >-
        An array of detail error codes, and messages, and URLs to documentation
        to help remediation.
      type: object
      properties:
        Errors:
          items:
            $ref: '#/components/schemas/AEError'
          type: array
          minItems: 1
      required:
        - Errors
      additionalProperties: false
    AEErrorResponseSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEErrorResponse'
          required:
            - message
          additionalProperties: false
    AccountId:
      description: >-
        A unique and immutable identifier produced by the LFI to identify the
        account resource.This identifier has no meaning to the account owner
        (User 1).
      type: string
      minLength: 1
      maxLength: 40
    AEBalance:
      type: object
      description: Set of elements used to define the balance details.
      required:
        - CreditDebitIndicator
        - Type
        - DateTime
        - Amount
      properties:
        CreditDebitIndicator:
          $ref: '#/components/schemas/AECreditDebitCode_2'
        Type:
          $ref: '#/components/schemas/AEBalanceTypeCode'
        DateTime:
          description: >-
            Indicates the date (and time) that the account balance was
            checked.All dates in the JSON payloads are represented in ISO 8601
            date-time format. All date-time fields in responses must include the
            timezone. An example is below: 2017-04-05T10:43:07+00:00
          type: string
          format: date-time
        Amount:
          type: object
          required:
            - Amount
            - Currency
          description: Amount of money of the cash balance.
          properties:
            Amount:
              $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
            Currency:
              $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
          additionalProperties: false
        CreditLine:
          type: array
          items:
            type: object
            description: Set of elements used to provide details on the credit line.
            required:
              - Included
              - Type
              - Amount
            properties:
              Included:
                description: >-
                  Boolean flag to Indicate whether or not a credit line is
                  included in the balance of the account. Usage: If not present,
                  credit line is not included in the balance amount of the
                  account.
                type: boolean
              Type:
                description: >-
                  Type of credit line provided to the account. Encoded with
                  allowable values of: Available, Credit, Emergency, Pre-Agreed,
                  Temporary. Note: LFIs support different types of credit lines
                  on accounts, so this list is used to support different LFI
                  systmes in UAE.
                type: string
                enum:
                  - Available
                  - Credit
                  - Emergency
                  - Pre-Agreed
                  - Temporary
              Amount:
                type: object
                required:
                  - Amount
                  - Currency
                description: Amount of money of the credit line.
                properties:
                  Amount:
                    $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
                  Currency:
                    $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
                additionalProperties: false
            additionalProperties: false
      additionalProperties: false
    Links:
      description: Links relevant to the resource
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
        First:
          $ref: '#/components/schemas/First'
        Prev:
          $ref: '#/components/schemas/Prev'
        Next:
          $ref: '#/components/schemas/Next'
        Last:
          $ref: '#/components/schemas/Last'
      additionalProperties: false
    MetaTotalPages:
      description: Meta Data relevant to the resource
      type: object
      required:
        - TotalPages
      properties:
        TotalPages:
          $ref: '#/components/schemas/TotalPages'
      additionalProperties: false
    Jwt:
      description: >
        [https://www.rfc-editor.org/rfc/rfc7519](https://www.rfc-editor.org/rfc/rfc7519)
      type: object
      properties:
        iss:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
          type: string
        exp:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
          type: number
        nbf:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
          type: number
        aud:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
          type: array
          items:
            type: string
        iat:
          description: >
            [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
          type: number
      required:
        - iss
        - exp
        - nbf
      additionalProperties: false
    AEError:
      description: Error
      type: object
      properties:
        Code:
          description: Low level textual error code, e.g., Field.Missing
          type: string
          enum:
            - AccessToken.Unauthorized
            - AccessToken.InvalidScope
            - Consent.Revoked
            - Consent.TransientAccountAccessFailure
            - Consent.AccountTemporarilyBlocked
            - Consent.PermanentAccountAccessFailure
            - Consent.Invalid
            - JWS.InvalidSignature
            - JWS.Malformed
            - JWS.InvalidClaim
            - JWS.InvalidHeader
            - GenericRecoverableError
            - GenericError
            - JWE.DecryptionError
            - JWE.InvalidHeader
            - Event.UnexpectedEvent
            - Body.InvalidFormat
            - Resource.InvalidResourceId
            - Resource.InvalidFormat
            - Consent.BusinessRuleViolation
        Message:
          description: >-
            A description of the error that occurred. e.g., 'A mandatory field
            isn't supplied' or 'RequestedExecutionDateTime must be in future'

            UAEOF doesn't standardise this field
          type: string
          minLength: 1
          maxLength: 500
        Path:
          description: >-
            Recommended but optional reference to the JSON Path of the field
            with error, e.g., Data.Initiation.InstructedAmount.Currency
          type: string
          minLength: 1
          maxLength: 500
        Url:
          description: >-
            URL to help remediate the problem, or provide more information, or
            to API Reference, or help etc
          type: string
      required:
        - Code
        - Message
      additionalProperties: false
      minProperties: 1
    AECreditDebitCode_2:
      description: >-
        Indicates whether the balance of the account is a credit or a debit
        balance. Encoded with allowable values: 'Credit', 'Debit' Usage: A zero
        balance is considered to be a credit balance.
      type: string
      enum:
        - Credit
        - Debit
    AEBalanceTypeCode:
      description: >
        The type of balance for the account. 

        Encoded with allowable values of: 

        * 'ClosingAvailable' - end of day balance specifying the amount
        available to User 1 to withdraw or use. 

        * 'ClosingBooked' - end of day balance including value of payments for
        cheques or payments which have not been cleared yet. 

        * 'ClosingCleared' - end of day balance including value of payments for
        cheques or payments which have been cleared. 

        * 'Expected' - intra day balance including value of payments for cheques
        or payments which have been cleared. 

        * 'ForwardAvailable' - intraday balance specifying the amount available
        to User 1 to withdraw or use considering forward dated payments or other
        intraday payments or cheques that will be clearing to the account. 

        * 'Information' - TBC. 

        * 'InterimAvailable' - intraday balance specifying the amount available
        to User 1 to withdraw or use (most probably real-time.'InterimBooked' -
        intraday balance including value of payments for cheques or payments
        which have not been cleared yet. 

        * 'InterimCleared' - intraday balance including value of payments for
        cheques or payments which have been cleared (probably real-time). 

        * 'OpeningAvailable' - start of day balance specifying the amount
        available to User 1 to withdraw or use. 

        * 'OpeningBooked' - start of day balance including value of payments for
        cheques or payments which have not been cleared yet. 

        * 'OpeningCleared' - start of day balance including value of payments
        for cheques or payments which have been cleared.

        * 'PreviouslyClosedBooked' -TBC. 


        Note: LFIs support different types for presenting account balance, so
        this list is used to support different LFI systems in UAE.
      type: string
      enum:
        - ClosingAvailable
        - ClosingBooked
        - ClosingCleared
        - Expected
        - ForwardAvailable
        - Information
        - InterimAvailable
        - InterimBooked
        - InterimCleared
        - OpeningAvailable
        - OpeningBooked
        - OpeningCleared
        - PreviouslyClosedBooked
    AEActiveCurrencyAndAmount_SimpleType:
      description: >-
        A number of monetary units specified in an active currency where the
        unit of currency is explicit and compliant with ISO 4217.
      type: string
      pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
    ActiveOrHistoricCurrencyCode_1:
      description: >-
        A 3 character alphabetic code allocated to a currency under an
        international currency identification scheme, as described in the latest
        edition of the international standard ISO 4217 'Codes for the
        representation of currencies and funds'.
      type: string
      pattern: ^[A-Z]{3,3}$
      example: AED
    Self:
      description: A link to the current resource
      type: string
      format: uri
    First:
      description: A link to the first page in a paginated result set
      type: string
      format: uri
    Prev:
      description: A link to the previous page in a paginated result set
      type: string
      format: uri
    Next:
      description: A link to the next page in a paginated result set
      type: string
      format: uri
    Last:
      description: A link to the last page in a paginated result set
      type: string
      format: uri
    TotalPages:
      description: Total number of Pages where a result set is paginated
      type: integer
      format: int32
      minimum: 0
  securitySchemes:
    UserOAuth2Security:
      type: oauth2
      description: >-
        [OAuth2 PAR flow](https://datatracker.ietf.org/doc/html/rfc9126), it is
        required when the User needs to perform SCA with the LFI when a TPP
        wants to access an LFI resource owned by the User. **Please refer to
        [OpenID FAPI Security Profile 1.0 -Part 2
        Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
        - 5.2.2 point 14 - shall authenticate the confidential client using one
        of the following methods private_key_jwt and [OpenID Connect Core
        1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
        9. Client Authentication private_key_jwt**
      flows:
        authorizationCode:
          authorizationUrl: https://authserver.example/authorization
          tokenUrl: https://authserver.example/token
          scopes:
            openid: Activates OpenID Connect Support
            accounts: >-
              Ability to read Accounts Information. This is a parameterized
              scope with the ConsentId

````