> ## 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 Accounts

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

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
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:
    get:
      tags:
        - Accounts
      summary: Get Accounts
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadAccountsBasic 

        * ReadAccountsDetail


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccounts
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $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/200AccountsRead'
        '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
    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:
    200AccountsRead:
      description: Accounts 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/AEReadAccount'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadAccount'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadAccountSigned'
    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:
    AEReadAccount:
      description: List of Accounts
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          type: object
          description: Primary data for the resource
          required:
            - Account
          properties:
            Account:
              type: array
              items:
                $ref: '#/components/schemas/AEAccountArrayId'
          additionalProperties: false
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      additionalProperties: false
    AEReadAccountSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadAccount'
          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
    AEAccountArrayId:
      type: object
      description: >-
        Unambiguous identification of the account to which credit and debit
        entries are made. The following fields are optional only for accounts
        that are switched:

          * Data.Currency  
          * Data.AccountType  
          * Data.AccountSubType

        For all other accounts, the fields must be populated by the LFI.
      required:
        - AccountId
      properties:
        AccountId:
          $ref: '#/components/schemas/AccountId'
        AccountHolderName:
          $ref: '#/components/schemas/AccountHolderName'
        AccountHolderShortName:
          $ref: '#/components/schemas/AccountHolderShortName'
        Status:
          $ref: '#/components/schemas/AEAccountStatusCode'
        StatusUpdateDateTime:
          $ref: '#/components/schemas/StatusUpdateDateTime'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
        AccountType:
          $ref: '#/components/schemas/AEExternalAccountTypeCode'
        AccountSubType:
          $ref: '#/components/schemas/AEExternalAccountSubTypeCode'
        Description:
          $ref: '#/components/schemas/Description_0'
        Nickname:
          $ref: '#/components/schemas/Nickname'
        OpeningDate:
          $ref: '#/components/schemas/OpeningDate'
        MaturityDate:
          $ref: '#/components/schemas/MaturityDate'
        AccountIdentifiers:
          $ref: '#/components/schemas/AccountIdentifiers'
        Servicer:
          $ref: >-
            #/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0
      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
    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
    AccountHolderName:
      type: string
      description: >
        * /accounts resource

        The Account Holder Name is the name or names of the Account owner(s)
        represented at the account level


        * /accounts/{AccountId} resource

        The Account Holder Name is the name or names of the Account owner(s)
        represented at the account level


        * /beneficiaries resource

        The Account Holder Name is the name or names of the Beneficiary account
        owner(s) represented at the account level, as displayed by the Creditor
        Agent's online channels and as provided by the Beneficiary to the User 1
        when adding the Beneficiary in the Beneficiary list. 

        Note, the Account Holder Name is not the product name or the nickname of
        the account.              


        * /scheduled-payments resource

        The Account Holder Name is the name or names of the Beneficiary account
        owner(s) represented at the account level, as displayed by the Creditor
        Agent's online channels and as provided by the Beneficiary to the User 1
        when adding the Beneficiary in the Beneficiary list. 

        Note, the Account Holder Name is not the product name or the nickname of
        the account.              


        * /standing-orders resource

        The Account Holder Name is the name or names of the Beneficiary account
        owner(s) represented at the account level, as displayed by the Creditor
        Agent's online channels and as provided by the Beneficiary to the User 1
        when adding the Beneficiary in the Beneficiary list. 

        Note, the Account Holder Name is not the product name or the nickname of
        the account.
    AccountHolderShortName:
      type: string
      description: |
        * /accounts resource
        The Account holder nick name

        * /accounts/{AccountId} resource
        The Account holder nick name

        * /beneficiaries resource
        The Beneficiary account holder nick name

        * /scheduled-payments resource
        The Beneficiary account holder nick name

        * /standing-orders resource
        The Beneficiary account holder nick name
    AEAccountStatusCode:
      description: >
        Specifies the status of account resource in code form.


        * Active: The account exist and is in an active state.


        * Inactive: The account is deemed not active by the LFI. Please refer to
        the 
          [CBUAE Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)
          for qualification of Inactive status.

        * Dormant: Please refer to the [CBUAE
        Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)
          for the definition of Dormant status.

        * Unclaimed: Please refer to the [CBUAE
        Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)
          for the definition of Unclaimed status.

        * Deceased: The account holder has passed away.


        * Suspended: The account has been temporarily deactivated by the LFI for
        reasons such as
          suspicious activities or non-compliance with regulations. The account holder might
          be unable to access funds or perform transactions until the bank's requirements 
          are met, and the suspension is lifted. 

        * Closed: The account is closed
      type: string
      enum:
        - Active
        - Inactive
        - Dormant
        - Unclaimed
        - Deceased
        - Suspended
        - Closed
    StatusUpdateDateTime:
      description: >-
        Date and time at which the account resource status was updated. 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
    ActiveOrHistoricCurrencyCode_0:
      description: >-
        Identification of the currency in which the account is held. A 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
    AEExternalAccountTypeCode:
      description: Specifies the type of account (Retail, SME or Corporate).
      type: string
      enum:
        - Retail
        - SME
        - Corporate
    AEExternalAccountSubTypeCode:
      description: >-
        Specifies the sub type of account (product family group). Examples
        values include: CurrentAccount, Savings
      type: string
      x-namespaced-enum:
        - CurrentAccount
        - Savings
    Description_0:
      description: Specifies the description of the account sub-type.
      type: string
      minLength: 1
      maxLength: 35
    Nickname:
      description: >-
        The nickname of the account, assigned by User 1 to provide an additional
        and easier means of identification of the account at the LFI.
      type: string
      minLength: 1
      maxLength: 70
    OpeningDate:
      description: >-
        Date on which the account and its related basic services by LFI started
        to be operational for User 1. 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
    MaturityDate:
      description: >
        * Fixed Term Savings Account
          MaturityDate is the date on which the savings mature and the balance can be withdrawn by the User without penalty

        * 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: 2017-04-05T10:43:07+00:00
      type: string
      format: date-time
    AccountIdentifiers:
      type: array
      items:
        type: object
        description: Provides the details to identify an account.
        required:
          - SchemeName
          - Identification
        properties:
          SchemeName:
            $ref: '#/components/schemas/AEExternalAccountIdentificationCode'
          Identification:
            $ref: '#/components/schemas/Identification_0'
          Name:
            $ref: '#/components/schemas/Name_0'
        additionalProperties: false
    AEBranchAndFinancialInstitutionIdentification5_0:
      type: object
      required:
        - SchemeName
        - Identification
      description: >-
        Party that manages the account on behalf of the account owner, that is
        manages the registration and booking of entries on the account,
        calculates balances on the account and provides information about the
        account.
      properties:
        SchemeName:
          $ref: >-
            #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
        Identification:
          $ref: '#/components/schemas/Identification_1'
      additionalProperties: false
    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
    AEExternalAccountIdentificationCode:
      description: >-
        Name of the identification scheme for the account. Encoded with
        allowable values published in an external list.
      type: string
      enum:
        - IBAN
        - AccountNumber
    Identification_0:
      description: >
        Identification for the account assigned by the LFI based on the Account
        Scheme Name. This identification is known by the User 1 account owner.
        For IBAN, refer to the ISO Standard 13616.
      type: string
      minLength: 1
      maxLength: 400
    Name_0:
      description: >-
        The account name is the name or names of the User 1 account owner(s)
        represented at an account level, as displayed by the LFI's online
        channels. Note: The account name is not the product name or the nickname
        of the account.
      type: string
      minLength: 1
      maxLength: 70
    AEExternalFinancialInstitutionIdentificationCode:
      description: >
        * /accounts resource 

        The name of the identification scheme for the LFI as the account
        services provider. Encoded with allowable value as published in an
        external list.


        * /beneficiaries resource 

        Refers to the Financial Institution that manages the account on behalf
        of the Beneficiary party, managing registration, booking of entries on
        the account, calculating balances on the account and providing
        information about the account. This is the servicing Financial
        Institution of the Beneficiary account.


        * /scheduled-payments resource 

        Refers to the identification scheme for uniquely identifying the
        Creditor Agent.


        * /standing-orders resource 

        Refers to the identification scheme for uniquely identifying the
        Creditor Agent.


        * /transactions resource 

        Refers to the identification scheme for uniquely identifying the
        Creditor Agent.
      type: string
      enum:
        - BICFI
        - Other
    Identification_1:
      description: >
        * /accounts resource

        Unique and unambiguous identification of the LFI as the account
        servicing institution for the Open Banking Services. 


        * /beneficiaries resource

        Unique and unambiguous identification of the Creditor Agency as the
        servicing institution of the Beneficiary.


        * /scheduled-payments resource 

        Unique and unambiguous identification of the LFI as the account
        servicing institution for the Open Banking Services. 


        * /standing-orders resource 

        Unique and unambiguous identification of the LFI as the account
        servicing institution for the Open Banking Services. 


        * /transactions resource 
         Unique and unambiguous identification of the LFI as the account servicing institution for the Open Banking Services. 

        *  Notes:

        Based on the value of the field **SchemeName**, this entry may be :

        * BICFI: The BIC/SWIFT Code        

        * Other: The ID; A Country Code followed by a Bank Code (4 character
        code). 
      type: string
      minLength: 1
      maxLength: 35
  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

````