Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Awesome api app render macro
authHeaderName
linksColor#0052cc
showInfotrue
allowSpecUrlLoadfalse
primaryColor#0052CC
schemaStyletable
methodGetColor#0065FF
authHeaderValue
methodPutColor#6554c0
generalThemeconfluence_light
allowTryfalse
layoutHeight1000
allowAdvancedSearchfalse
codeBg#F4F5F7
methodHeadColor#ffab00
navHoverTextColor
showComponentsfalse
allowServerSelectiontrue
textColor#172B4D
methodPatchColor#ffab00
navBgColor#FAFBFC
codeFg#172B4D
navTextColor#172B4D
fontSizedefault
sortEndpointsBymethod
usePathInNavBartrue
navAccentColor#6554C0
methodDeleteColor#ff5630
headerColor#fff
allowAuthenticationfalse
bgColor#fff
allowSearchfalse
sortTagstrue
themelight
methodPostColor#36b37e
authTypeNone
inlineCodeFg#6554C0
resourceContentTypejson
showHeaderfalse
allowSpecFileLoadfalse
inlineCodeBg#F4F5F7
renderStyleread
layoutrow
headingText
navItemSpacingdefault
infoDescriptionHeadingsInNavbartrue
specUrl
navHoverBgColor
resourceTypeCONTENT
openapi: 3.0.01

info:
  title: UAE Account Information APIOzone Connect - Data Sharing APIs
  descriptioncontact:
 '## UAE Open Financename: AccountOzone InformationFinancial APITechnology Specification'Limited
  versiondescription: v1.0-rc1
servers:|
   - url: /open-finance/account-information/v1.0-rc1
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:
  /account-access-consents:
    get:
      tags:
        - Account Access
      summary: Retrieve Account Access Consents by BaseConsentId
      description: |
        Retrieve all Account Access Consents for an BaseConsentId
      operationId: GetAccountAccessConsentsByBaseConsentId
      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'
        - $ref: '#/components/parameters/baseConsentId'
      responses:
        '200':
          $ref: '#/components/responses/200BaseConsentIdConsentsRetrieve'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - TPPOAuth2Security:
            - openid
            - accounts
  /account-access-consents/{ConsentId}:
    get:
      tags:
        - Account Access
      summary: Get Account Access Consents
      description: |
        Retrieve Account Access Consents
      operationId: GetAccountAccessConsentsConsentId
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/ConsentId'
        - $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/200AccountAccessConsentsConsentIdRead'
        '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:
        - TPPOAuth2Security:
            - openid
            - accounts
    patch:
      tags:
        - Account Access
      summary: Patch Consent
      description: |
        Update and Account Access Consent Status or Webhook Subscription
      operationId: PatchAccountAccessConsentsConsentId
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/ConsentId'
        - $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'
      requestBody:
        description: |
          Request Body
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AEPatchConsent'
          application/json:
            schema:
              $ref: '#/components/schemas/AEPatchConsent'
          application/jwt:
            schema:
              $ref: '#/components/schemas/AEPatchConsentSigned'
      responses:
        '204':
          $ref: '#/components/responses/204AccountAccessConsentsConsentIdDeleted'
        '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'
        '415':
          $ref: '#/components/responses/415Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - TPPOAuth2Security:
            - openid
            - accounts
  /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
  /accounts/{AccountId}:
    get:
      tags:
        - Accounts
      summary: Get an Account
      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: GetAccountsAccountId
      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/200AccountsAccountIdRead'
        '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
  /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
  /accounts/{AccountId}/beneficiaries:
    get:
      tags:
        - Beneficiaries
      summary: Get Beneficiaries
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadBeneficiariesBasic

        * ReadBeneficiariesDetail


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdBeneficiaries
      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/200AccountsAccountIdBeneficiariesRead'
        '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
  /accounts/{AccountId}/direct-debits:
    get:
      tags:
        - Direct Debits
      summary: Get Direct Debits
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadDirectDebits


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdDirectDebits
      parameters:
        - $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/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdDirectDebitsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
  /accounts/{AccountId}/product:
    get:
      tags:
        - Product
      summary: Get Product for an Account
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadProduct


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdProduct
      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/200AccountsAccountIdProductRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
  /accounts/{AccountId}/scheduled-payments:
    get:
      tags:
        - Scheduled Payments
      summary: Get Scheduled Payments
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadScheduledPaymentsBasic

        * ReadScheduledPaymentsDetail


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetScheduledPayments
      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/200AccountsAccountIdScheduledPaymentsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
  /accounts/{AccountId}/standing-orders:
    get:
      tags:
        - Standing Orders
      summary: Get Standing Orders
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadStandingOrdersBasic

        * ReadStandingOrdersDetail


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdStandingOrders
      parameters:
        - $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/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdStandingOrdersRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
  /accounts/{AccountId}/transactions:
    get:
      tags:
        - Transactions
      summary: Get Transactions
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadTransactionsBasic

        * ReadTransactionsDetail

        * ReadTransactionsCredits

        * ReadTransactionsDebits


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdTransactions
      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'
        - $ref: '#/components/parameters/FromBookingDateTimeParam'
        - $ref: '#/components/parameters/ToBookingDateTimeParam'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdTransactionsRead'
        '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
  /accounts/{AccountId}/consents:
    get:
      tags:
        - Consents
      summary: Get Consents
      description: >
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadConsents


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      operationId: GetAccountsAccountIdConsents
      parameters:
        - $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/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
      responses:
        '200':
          $ref: '#/components/responses/200AccountsAccountIdConsentsRead'
        '400':
          $ref: '#/components/responses/400Error'
        '401':
          $ref: '#/components/responses/401Error'
        '403':
          $ref: '#/components/responses/403Error'
        '404':
          $ref: '#/components/responses/404Error'
        '405':
          $ref: '#/components/responses/405Error'
        '406':
          $ref: '#/components/responses/406Error'
        '429':
          $ref: '#/components/responses/429Error'
        '500':
          $ref: '#/components/responses/500Error'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
  /accounts/{AccountId}/parties:
    get:
      tags:
        - Parties
      operationId: PartiesByAccountId_read
      summary: Get Parties for an Account
      description: >-
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadParty


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $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/AccountId'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadParty2'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadParty2'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadParty2Signed'
        '400':
          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/AEErrorSignedResponse'
        '401':
          description: Unauthorized
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '403':
          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/AEErrorSignedResponse'
        '404':
          description: Not found
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '405':
          description: Method Not Allowed
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '406':
          description: Not Acceptable
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '415':
          description: Unsupported Media Type
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '429':
          description: Too Many Requests
          headers:
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '500':
          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/AEErrorSignedResponse'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
  /parties:
    get:
      tags:
        - Parties
      operationId: Parties_read
      summary: Get Parties
      description: >-
        **The list below outlines the Consent Permissions that are applicable to
        this resource:**          

        * ReadPartyPSU

        * ReadPartyPSUIdentity


        Refer to *Customer Experience Guidelines*, *Account Information*, *Data
        Groups* for further information.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadParty3'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadParty3'
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEReadParty3Signed'
        '400':
          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/AEErrorSignedResponse'
        '401':
          description: Unauthorized
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '403':
          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/AEErrorSignedResponse'
        '404':
          description: Not found
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '405':
          description: Method Not Allowed
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '406':
          description: Not Acceptable
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '415':
          description: Unsupported Media Type
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '429':
          description: Too Many Requests
          headers:
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '500':
          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/AEErrorSignedResponse'
      security:
        - UserOAuth2Security:
            - openid
            - accounts
components:
  responses:
    TPPWebhookResponse:
      description: Response Status Code
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
          required: true
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          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'
    404Error:
      description: Not found
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    415Error:
      description: Unsupported Media Type
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          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:
          description: An RFC4122 UID used as a correlation id.
          required: true
          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:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          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'
    200AccountsAccountIdDirectDebitsRead:
      description: Direct Debits Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadDirectDebit'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadDirectDebit'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadDirectDebitSigned'
    200AccountsAccountIdStandingOrdersRead:
      description: Standing Orders Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadStandingOrder'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadStandingOrder'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadStandingOrderSigned'
    200AccountsAccountIdScheduledPaymentsRead:
      description: Scheduled Payments Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadScheduledPayment'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadScheduledPayment'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadScheduledPaymentSigned'
    200AccountsAccountIdBeneficiariesRead:
      description: Beneficiaries Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadBeneficiary'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadBeneficiary'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadBeneficiarySigned'
    200AccountsAccountIdTransactionsRead:
      description: Transactions Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadTransaction'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadTransaction'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadTransactionSigned'
    200AccountsAccountIdProductRead:
      description: Product Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadProduct1'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadProduct1'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadProduct1Signed'
    200AccountsAccountIdBalancesRead:
      description: Balances Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          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'
    200AccountsAccountIdRead:
      description: Account ID Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadAccountId'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadAccountId'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadAccountIdSigned'
    204AccountAccessConsentsConsentIdDeleted:
      description: No Content
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    200AccountAccessConsentsConsentIdRead:
      description: Account Access Consents Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadConsentResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadConsentResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadConsentResponseSigned'
    200AccountsRead:
      description: Accounts Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          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'
    200AccountsAccountIdConsentsRead:
      description: Consents Read
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEReadConsent'
        application/json:
          schema:
            $ref: '#/components/schemas/AEReadConsent'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEReadConsentSigned'
    200BaseConsentIdConsentsRetrieve:
      description: Retrieve Payment Consents by BaseConsentId
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEConsentsByBaseConsentIdResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEConsentsByBaseConsentIdResponse'
        application/jwt:
          schema:
            $ref: '#/components/schemas/AEConsentsByBaseConsentIdResponseSigned'
  schemas:
    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
    AEReadConsentResponseSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadConsentResponse'
          required:
            - message
          additionalProperties: false
    AEConsentsByBaseConsentIdResponseSigned:
      description: |
        Payment Consents By BaseConsentId Response Signed Schema
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              type: array
              items:
                $ref: '#/components/schemas/AEReadConsentResponse'
          required:
            - message
          additionalProperties: false
    AEErrorResponseSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEErrorResponse'
          required:
            - message
          additionalProperties: false
    WebhookEventSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/WebhookEvent'
          required:
            - message
          additionalProperties: false
    AEReadAccountSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadAccount'
          required:
            - message
          additionalProperties: false
    AEReadAccountIdSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadAccountId'
          required:
            - message
          additionalProperties: false
    AEReadBalanceSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadBalance'
          required:
            - message
          additionalProperties: false
    AEReadBeneficiarySigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadBeneficiary'
          required:
            - message
          additionalProperties: false
    AEReadDirectDebitSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadDirectDebit'
          required:
            - message
          additionalProperties: false
    AEReadProduct1Signed:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadProduct1'
          required:
            - message
          additionalProperties: false
    AEReadScheduledPaymentSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadScheduledPayment'
          required:
            - message
          additionalProperties: false
    AEReadStandingOrderSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadStandingOrder'
          required:
            - message
          additionalProperties: false
    AEReadTransactionSigned:
      allOf:
        - $ref: '#/components/schemas/Jwt'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AEReadTransaction'
          required:
            - message
          additionalProperties: false
    EventNotification:
      type: object
      description: |
        A Webhook Subscription Schema
      required:
        - Webhook
      properties:
        Webhook:
          description: |
            A Webhook Schema
          type: object
          properties:
            Url:
              description: |
                The TPP Callback URL being registered with the LFI
              type: string
              example: https://api.tpp.com/webhook/callbackUrl
            IsActive:
              description: >
                The TPP specifying whether the LFI should send (IsActive true)
                or not send (IsActive false) Webhook Notifications to the TPP's
                Webhook URL
              type: boolean
              example: false
          additionalProperties: false
      additionalProperties: false
    WebhookEvent:
      type: object
      description: Webhook Event
      required:
        - Data
        - EventMeta
      properties:
        Data:
          type: object
          description: >-
            Event Data. This Data Object will contain the same API resource and
            Schema that has triggered the Event.
          additionalProperties: false
        Links:
          $ref: '#/components/schemas/LinksSelf'
        EventMeta:
          type: object
          description: Event Metadata
          required:
            - EventDateTime
            - EventResource
            - EventType
            - ConsentId
          properties:
            EventDateTime:
              type: string
              format: date-time
              description: Date Time of the first Event in the Message
            EventResource:
              type: string
              description: The API resource to which the Event itself is associated
              example: /accounts/123
            EventType:
              type: string
              enum:
                - UAEOF.Resource.Created
                - UAEOF.Resource.Updated
                - UAEOF.Resource.Deleted
              description: The Type of Event
            ConsentId:
              description: >-
                Unique identification as assigned to identify the consents
                resource.
              type: string
              minLength: 1
              maxLength: 128
          additionalProperties: false
      additionalProperties: false
    Purpose:
      description: Purpose
      type: string
      enum:
        - Account Aggregation
        - Personal Finance Manager
        - Credit Assessment
        - Tax Filing
        - Enterprise Financial Management
        - Other
    OnBehalfOf:
      type: object
      description: On Behalf Of
      properties:
        TradingName:
          type: string
          description: Trading Name
          example: Acme Accounting Trading Name
        LegalName:
          type: string
          description: Legal Name
          example: Acme Accounting Legal Name
        IdentifierType:
          type: string
          description: Identifier Type
          enum:
            - Other
        Identifier:
          type: string
          description: Identifier
          example: abcd1234
      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
    AEError:
      description: Error
      type: object
      properties:
        Code:
          description: Low level textual error code, e.g., UAEOF.Field.Missing
          type: string
          enum:
            - UAEOF.AccessToken.Unauthorized
            - UAEOF.AccessToken.InvalidScope
            - UAEOF.Consent.Revoked
            - UAEOF.Consent.TransientAccountAccessFailure
            - UAEOF.Consent.AccountTemporarilyBlocked
            - UAEOF.Consent.PermanentAccountAccessFailure
            - UAEOF.Consent.Invalid
            - UAEOF.JWS.InvalidSignature
            - UAEOF.JWS.Malformed
            - UAEOF.JWS.InvalidClaim
            - UAEOF.JWS.InvalidHeader
            - UAEOF.GenericRecoverableError
            - UAEOF.GenericError
            - UAEOF.JWE.DecryptionError
            - UAEOF.JWE.InvalidHeader
            - UAEOF.Event.UnexpectedEvent
            - UAEOF.Body.InvalidFormat
            - UAEOF.Resource.InvalidResourceId
            - UAEOF.Resource.InvalidFormat
            - UAEOF.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
    LinksSelf:
      type: object
      description: Links relevant to the resource
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
      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
    Meta:
      type: object
      description: Meta Data relevant to the resource
      additionalProperties: false
    MetaTotalPages:
      description: Meta Data relevant to the resource
      type: object
      required:
        - TotalPages
      properties:
        TotalPages:
          $ref: '#/components/schemas/TotalPages'
      additionalProperties: false
    MetaTransactions:
      description: Meta Data relevant to the resource
      type: object
      required:
        - TotalPages
      properties:
        TotalPages:
          $ref: '#/components/schemas/TotalPages'
        FirstAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
        LastAvailableDateTime:
          $ref: '#/components/schemas/ISODateTime'
      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
    TransactionDateTime:
      description: >
        The Date Time of when the transaction occurred.

        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
    PaymentMode:
      description: The mode of payment
      type: string
      enum:
        - UAEOF.Online
        - UAEOF.Offline
        - UAEOF.Batch
    TransactionType:
      description: The type of transaction
      type: string
      enum:
        - UAEOF.POS
        - UAEOF.ECommerce
        - UAEOF.ATM
        - UAEOF.BillPayments
        - UAEOF.LocalBankTransfer
        - UAEOF.SameBankTransfer
        - UAEOF.InternationalTransfer
        - UAEOF.Teller
        - UAEOF.Cheque
        - UAEOF.Other
    SubTransactionType:
      description: The sub-type of a transaction
      type: string
      enum:
        - UAEOF.Purchase
        - UAEOF.Reversal
        - UAEOF.Refund
        - UAEOF.Withdrawal
        - UAEOF.WithdrawalReversal
        - UAEOF.Deposit
        - UAEOF.DepositReversal
        - UAEOF.MoneyTransfer
        - UAEOF.NotApplicable
    Flags:
      description: The flag of a transaction
      type: string
      enum:
        - UAEOF.Cashback
        - UAEOF.Payroll
        - UAEOF.DirectDebit
        - UAEOF.StandingOrder
        - UAEOF.Loan
        - UAEOF.Dividend
    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
    StatementReference:
      description: >-
        Unique reference for the statement. This reference may be optionally
        populated if available.
      type: string
      minLength: 1
      maxLength: 35
    LocalTimeZone:
      description: >
        The UTC offset of the local date and time of where the transaction
        occurred

        E.g. UTC+03:00
      type: string
      example: UTC+03:00
      pattern: ^UTC[+-]([01]\d|2[0-4])(:?[0-5]\d)?$
    ISODateTime:
      description: >-
        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
    StandingOrderId:
      description: >-
        A unique and immutable identifier produced by the LFI to identify the
        account resource. This identifier has no meaning to the account owner.
      type: string
      minLength: 1
      maxLength: 40
    StandingOrderType:
      description: The type of Standing Order.
      type: string
      enum:
        - UAEOF.BetweenMyAccounts
        - UAEOF.SameBankTransfer
        - UAEOF.LocalBankTransfer
        - UAEOF.InternationalTransfer
        - UAEOF.Charity
    Frequency:
      type: string
      minLength: 1
      maxLength: 35
      description: >
        * The frequency that the Standing Order payments are executed from the
        User1s account. Encoded with allowable values as follows:


        * Individual Definitions:

        NotKnown - SO frequency is not known (i.e. not provided) 

        EveryDay - SO frequency is Every day

        EveryWorkingDay - SO frequency is every working day 

        IntervalDay - SO frequency is an interval specified in number of
        calendar days (2 to 31) 

        IntervalWeekDay - SO frequency is an interval specified in weeks (1 to
        51), and the day within the week (1 to 7) 

        WeekInMonthDay - SO frequency is a monthly interval, specifying the week
        of the month (1 to 5) and day within the week (1 to 7) 

        IntervalMonthDay - SO frequency is an interval specified in months
        (between 1 to 6, 12, 24), specifying the day within the month (-5 to -1,
        1 to 31) 

        QuarterDay - SO frequency is quarterly RECEIVED

        BiAnnual - SO frequency is every 6 months

        Annual - SO frequency is every year

        RECEIVED = Paid on the 20th March, 19th June, 24th September and 20th
        December. 


        * Individual Patterns:

        NotKnown (ScheduleCode)

        EveryDay (ScheduleCode)

        EveryWorkingDay (ScheduleCode)

        IntervalDay:NoOfDay (ScheduleCode + NoOfDay)

        IntervalWeekDay:IntervalInWeeks:DayInWeek (ScheduleCode +
        IntervalInWeeks + DayInWeek)

        WeekInMonthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth +
        DayInWeek)

        IntervalMonthDay:IntervalInMonths:DayInMonth (ScheduleCode +
        IntervalInMonths + DayInMonth)

        QuarterDay: + either (RECEIVED) ScheduleCode + QuarterDay


        * The regular expression for this element combines five smaller versions
        for each permitted pattern. To aid legibility - the components are
        presented individually here:

        NotKnown

        EveryDay

        EveryWorkingDay

        IntervalDay:(([2-9])|([1-2][0-9])|3[0-1])

        IntervalWeekDay:[1-51]:[1-7]

        WeekInMonthDay:[1-5]:[1-7]

        IntervalMonthDay:([1-6]|12|24):(-[1-5]|[1-9]|[12][0-9]|3[01])

        QuarterDay:(RECEIVED)


        * Full Regular Expression:

        ^(NotKnown)$|^(EveryDay)$|^(EveryWorkingDay)$|^(IntervalDay:(([2-9])|([1-2][0-9])|3[0-1]))$|^(IntervalWeekDay:[1-51]:[1-7])$|^(WeekInMonthDay:[1-5]:[1-7])$|^(IntervalMonthDay:([1-6]|12|24):(-[1-5]|[1-9]|[12][0-9]|3[01]))$|^(QuarterDay:(RECEIVED))$"

        type: "string"

        pattern:
        "^(NotKnown)$|^(EveryDay)$|^(EveryWorkingDay)$|^(IntervalDay:(([2-9])|([1-2][0-9])|3[0-1]))$|^(IntervalWeekDay:[1-51]:[1-7])$|^(WeekInMonthDay:[1-5]:[1-7])$|^(IntervalMonthDay:([1-6]|12|24):(-[1-5]|[1-9]|[12][0-9]|3[01]))$|^(QuarterDay:(RECEIVED))$"
    PurposeSO:
      description: >
        The purpose of the Standing Order payment.

        A free format string in the form of transaction categorisation.

        Example: "Bills and expenses", "Government payment", "Personal
        Expenses".
      type: string
      minLength: 1
      maxLength: 50
    FirstPaymentDateTime:
      description: >-
        The date on which the first payment for a Standing Order schedule will
        be made.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
    NextPaymentDateTime:
      description: >-
        The date on which the next payment for a Standing Order schedule will be
        made.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
    LastPaymentDateTime:
      description: >-
        The date on which the last (most recent) payment for a Standing Order
        schedule was made.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
    FinalPaymentDateTime:
      description: >-
        The date on which the final payment for a Standing Order schedule will
        be made.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
    NumberOfPayments:
      description: >-
        Number of the payments that will be made in completing this frequency
        sequence including any executed since the sequence start date.
      type: string
      minLength: 1
      maxLength: 35
    AEExternalStandingOrderStatusCode:
      description: Specifies the status of the standing order in code form.
      type: string
      enum:
        - UAEOF.Active
        - UAEOF.Inactive
    DirectDebitId:
      description: >-
        A unique and immutable identifier used to identify the direct debit
        resource. This identifier has no meaning to the account owner.
      type: string
      minLength: 1
      maxLength: 256
    MandateIdentification:
      description: >-
        This is the unique and immutable reference to the User 1 for the Direct
        Debit mandate.
      type: string
      minLength: 1
      maxLength: 35
    AEExternalDirectDebitStatusCode:
      description: >-
        Specifies the status of the direct debit. Encoded with allowable values
        of: 'Active', 'Inactive'
      type: string
      enum:
        - Active
        - Inactive
    FrequencyDD:
      description: >-
        Specifies the frequency of the Direct Debit collections to the User 1
        account.
      type: string
      enum:
        - UAEOF.Annual
        - UAEOF.Daily
        - UAEOF.Fortnightly
        - UAEOF.HalfYearly
        - UAEOF.Monthly
        - UAEOF.NotKnown
        - UAEOF.Quarterly
        - UAEOF.Weekly
    PreviousPaymentDateTime:
      description: >-
        The date of most recent direct debit collection to the User 1 account.
        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
    AEActiveOrHistoricCurrencyAndAmount_0:
      type: object
      required:
        - Amount
        - Currency
      description: >-
        This is the value of the last direct debit collection from the User 1
        account.
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_1:
      type: object
      required:
        - Amount
        - Currency
      description: >
        The amount of money that was moved between the User 1 (Debtor) and the
        payment beneficiary (Creditor) by the LFI, before adding any charges
        from the sending LFI.

        It is expressed in the currency as ordered by the User 1 (i.e. the
        initiating party of the payment). This amount is transported unchanged
        through the transaction chain.
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_2:
      type: object
      required:
        - Amount
        - Currency
      description: The amount of the first Standing Order
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_3:
      type: object
      required:
        - Amount
        - Currency
      description: The amount of the next Standing Order.
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_4:
      type: object
      required:
        - Amount
        - Currency
      description: The amount of the final Standing Order
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_5:
      type: object
      required:
        - Amount
        - Currency
      description: Amount of money in the transaction entry.
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_6:
      type: object
      required:
        - Amount
        - Currency
      description: Transaction charges to be paid by the charge bearer.
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
        ChargeIncluded:
          description: >
            If true then the value in the Amount has the ChargeAmount deducted
            from it
          type: boolean
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_7:
      type: object
      required:
        - Amount
        - Currency
      description: The amount of the last (most recent) Standing Order instruction.
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEActiveOrHistoricCurrencyAndAmount_8:
      type: object
      required:
        - Amount
        - Currency
      description: ' The VAT associated with the ChargeAmount'
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
      additionalProperties: false
    AEReadDirectDebit:
      description: List of Direct Debits for an Account
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          type: object
          description: Primary data for the resource
          required:
            - AccountId
            - DirectDebit
          properties:
            AccountId:
              $ref: '#/components/schemas/AccountId'
            DirectDebit:
              type: array
              items:
                $ref: '#/components/schemas/AEDirectDebit'
          additionalProperties: false
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages'
      additionalProperties: false
    AEDirectDebit:
      type: object
      description: Account to or from which a cash entry is made.
      required:
        - DirectDebitId
        - MandateIdentification
        - DirectDebitStatusCode
        - Name
        - Frequency
      properties:
        DirectDebitId:
          $ref: '#/components/schemas/DirectDebitId'
        MandateIdentification:
          $ref: '#/components/schemas/MandateIdentification'
        DirectDebitStatusCode:
          $ref: '#/components/schemas/AEExternalDirectDebitStatusCode'
        NameThis document provides the OAS3 specification for Data Sharing APIs for Ozone Connect.

    These APIs should be implemented by an financial institution so that Ozone
    can expose these end-points to TPPs.

    #### Document Structure
    The documentation contains a number of references of the form `XXX-999-999`. These are references
    to test case numbers in the Ozone Connect Test Harness that financial institutions may use to test their Ozone Connect implementations.

    #### Coming soon
    The following changes can be expected in the next release:
    - some enumeration and object definitions remain to be aligned with CBUAE specifications. These will be updated
    - specific changes expected in the next release have been marked as ***TODO*** in the document
    - query parameters for pagination will be introduced in alignment with CBUAE specifications
    - some additional query parameters for functional completeness will be introduced

  version: Version 2024.31 for CBUAE

servers:
  - url: https://<your-ozone-connect-server>

tags:
  - name: accounts
    description: |
      APIs that should be implemented by Financial Instituations to expose `accounts` information to TPPs.

  - name: balances
    description: |
      APIs that should be implemented by Financial Instituations to expose `balances` information to TPPs.

  - name: transactions
    description: |
      APIs that should be implemented by Financial Instituations to expose `transactions` information to TPPs.

  - name: customers
    description: |
      APIs that should be implemented by Financial Instituations to expose `customer` information to TPPs.

  - name: beneficiaries
    description: |
      APIs that should be implemented by Financial Instituations to expose `beneficiaries` information to TPPs.

  - name: direct-debits
    description: |
      APIs that should be implemented by Financial Instituations to expose `direct debit` information to TPPs.

  - name: scheduled-payments
    description: |
      APIs that should be implemented by Financial Instituations to expose `scheduled payment` information to TPPs.

  - name: standing-orders
    description: |
      APIs that should be implemented by Financial Instituations to expose `standing order` information to TPPs.

  - name: products
    description: |
      APIs that should be implemented by Financial Instituations to expose `product` information to TPPs.

paths:

  /accounts:
    get:
      tags:
        - accounts
      summary: Fetch accounts
      description: |

        ###### ACC-010-010

        The API must return all the accounts specified by the `accountIds` query parameter.

        ###### ACC-010-140

        If one or more specified accountIds does not exist or cannot be retrieved the call should continue to return other accounts.

        ###### ACC-010-150

        If no accounts are found, the call must return a success status code `200` with an empty `data` array.

        ## Optionality
        At least one of `/accounts` or `/accounts/:accountId` must be implemented.

        If not implemented, Ozone will use the `/accounts/:accountId` end-point.
        However, that is not as performant an alternative and Financial Instituations are encouraged to implement this end-point.

      operationId: findAccounts
      parameters:
        # common header parameters that set context
        - $ref: "#/components/parameters/providerId"
        - $ref: "#/components/parameters/aspspId"
        - $ref: "#/components/parameters/callerOrgId"
        - $ref: "#/components/parameters/callerClientId"
        - $ref: "#/components/parameters/callerSoftwareStatementId"
        - $ref: "#/components/parameters/apiUri"
        - $ref: "#/components/parameters/apiOperation"
        - $ref: "#/components/parameters/consentId"
        - $ref: "#/components/parameters/callerInteractionId"
        - $ref: "#/components/parameters/ozoneInteractionId"
        - $ref: "#/components/parameters/psuIdentifier"

        # query parameters
        - name: accountIds
          in: query
          description: Comma separated ids of the accounts to be returned
          schema:
            type: string
            minimum: 1
          required: true

      responses:
        "200":
          description: successful operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AccountsResponse"
        "400":
          $refdescription: '#/components/schemas/Name_2' |
          Frequency:  The operation __must__ be failed with a status of $ref: '#/components/schemas/FrequencyDD'
   `400` under the following error conditions:

   PreviousPaymentDateTime:         -  $ref: '#/components/schemas/PreviousPaymentDateTime'###### ACC-010-020
           PreviousPaymentAmount:   If the `accountsIds` query parameter is not supplied.
$ref:
'#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'       additionalProperties: false    - AEReadStandingOrder:
###### ACC-010-040
     description: List of Standing Orders for an Account  The `o3-psu-identifier` header parameter is type:not objectspecified.

     required:       - ###### ACC-010-050
Data         - Links    Both the `accountIds` query parameter and the `o3-psu- Metaidentifier` header parameter are not specified.

          properties:  - ###### ACC-010-030
    Data:           type: object
      The `o3-provider-id` header is missing or has an unexpected value


 description: Primary data for the resource      The operation __may__ be failed required:with a status of `400` under the following error conditions:

  - AccountId         - ###### ACC-010-070, ACC-010-080, ACC-010-090
StandingOrder           properties:   One or more of the mandatory header parameters is not AccountId:specified or has an unexpected value
         $ref: '#/components/schemas/AccountId'    - `o3-api-uri`,
       StandingOrder:       - `o3-api-operation`,
      type: array       - `o3-ozone-interaction-id`

     items:     content:
           $ref: '#/components/schemas/AEStandingOrder'application/json:
          additionalProperties: false   schema:
     Links:           $ref: '"#/components/schemas/Links'Error"

        Meta"401":
          $refdescription: '#/components/schemas/MetaTotalPages'|
      additionalProperties: false     AEStandingOrder:The operation __must__ be    description: Standing Orders for a specific AccountId
      type: objectfailed with a status of `401` under the following error conditions:

     required:       - ###### ACC-010-100
Frequency         - StandingOrderId    The API consumer is not -authorised.
FirstPaymentDateTime
        - FinalPaymentDateTime content:
       - NumberOfPayments    application/json:
    - StandingOrderStatusCode         -schema:
FirstPaymentAmount         - FinalPaymentAmount       properties$ref: "#/components/schemas/Error"
       StandingOrderIdsecurity:
        -  $refbearerAuth: '#/components/schemas/StandingOrderId'[]

  /accounts/{accountId}:
    AccountHolderNameget:
      tags:
   $ref: '#/components/schemas/AccountHolderName'    - accounts
   AccountHolderShortName:   summary: Fetch the account specified by the account $ref: '#/components/schemas/AccountHolderShortName'id

        StandingOrderTypedescription: |
         $ref: '#/components/schemas/StandingOrderType'###### ACC-020-010

        The Frequency:API must return the account specified by the `accountId` path parameter.

$ref: '#/components/schemas/Frequency'       ## Optionality
CreditorReference:        At least one $ref:of '#/components/schemas/Reference'
  `/accounts` or `/accounts/:accountId` must be implemented.

    Purpose  operationId: findByAccountId
      parameters:
   $ref: '#/components/schemas/PurposeSO'    # common header parameters that FirstPaymentDateTime:set context
        - $ref: '"#/components/schemas/FirstPaymentDateTime'parameters/providerId"
        - NextPaymentDateTime$ref: "#/components/parameters/aspspId"
        - $ref: '"#/components/schemas/NextPaymentDateTime'parameters/callerOrgId"
        - LastPaymentDateTime$ref: "#/components/parameters/callerClientId"
        - $ref: '"#/components/schemas/LastPaymentDateTime'parameters/callerSoftwareStatementId"
        - FinalPaymentDateTime$ref: "#/components/parameters/apiUri"
        - $ref: '"#/components/schemas/FinalPaymentDateTime'parameters/apiOperation"
        - NumberOfPayments$ref: "#/components/parameters/consentId"
        - $ref: '"#/components/schemas/NumberOfPayments'parameters/callerInteractionId"
        - StandingOrderStatusCode$ref: "#/components/parameters/ozoneInteractionId"
        - $ref: '"#/components/schemas/AEExternalStandingOrderStatusCode'parameters/psuIdentifier"

        # Path FirstPaymentAmount:param definitions
        - $refname: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_2'accountId
        NextPaymentAmount:  in: path
       $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_3'  description: Id of the account to be LastPaymentAmount:queried
          $refrequired: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_7'true
          FinalPaymentAmountschema:
          $ref  type: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_4'string

      responses:
CreditorAgent:        "200":
  $ref: >-       description: successful operation
   #/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1       content:
 CreditorAccount:           typeapplication/json:
  array            itemsschema:
                $ref: '"#/components/schemas/AECashAccount5_0'AccountResponse"
        SupplementaryData"400":
          $refdescription: '#/components/schemas/AESupplementaryData'|
      additionalProperties: false     AEBranchAndFinancialInstitutionIdentification5_1:The operation __must__ be failed with a type:status objectof `400` under the following error conditions:
required:
        - IdentificationType   - ###### ACC-020-020
   - Identification       description: >  The account corresponding to the `accountId` query Creditorparameter Agentdoes refersnot toexist theor Financialis Institutionunder thata managesbar
the
        account on behalf of the- scheduled payment beneficiary party, managing###### ACC-020-030
           registration, booking of entries on the account, calculating balances on
  The `o3-provider-id` header is missing or has an unexpected value

    the account and providing information about the account. ThisThe is the
        servicing Financial Institution of the Beneficiary account.operation __should__ be failed with a status of `400` under the following error conditions:

        properties:    - ###### ACC-020-040
  IdentificationType:           $ref: >-The financial institution should fail the call if the `o3-psu-identifier` header is  #/components/schemas/AEExternalFinancialInstitutionIdentificationCodenot specified.

       Identification:     - ###### ACC-020-050
   $ref: '#/components/schemas/Identification_1'       additionalProperties: false  If both the DebtorReference:`accountId` and `o3-psu-identifier` header are not specified.
description:
>         Reference in the contextThe of the User 1 (i.e. the Debtor) to refer to the
  operation __may__ be failed with a status of `400` under the following error conditions:

    payment transaction.       - ###### ACC-020-070,  Usage: If available, the initiating party (i.e. Debtor) generates thisACC-020-080, ACC-020-090
              One or referencemore forof internalthe purposes (e.g. to enable reconciliation, refer to
   mandatory header parameters is not specified or has an unexpected value
    a PO, invoice etc). This field is captured by the LFI and is not- `o3-api-uri`,
          transmitted via the payment rails to the Creditor of the payment.- `o3-api-operation`,
           type: string  - `o3-ozone-interaction-id`

  minLength: 1       maxLengthcontent:
35     AEExternalScheduleTypeCode:       descriptionapplication/json:
>         Specifies the type of scheduled paymentschema:
date provided under         ScheduledPaymentDateTime.            Encoded with allowable values of:$ref: "#/components/schemas/Error"

        "401":
     "Arrival" - User1 specifies the datedescription: for|
the arrival of funds in the beneficiary (Creditor) account    The operation __must__ be failed with a "Execution"status -of User1`401` specifiesunder the datefollowing whicherror theconditions:
payment
needs to be executed from the User 1 (Debtor) account.   - ###### ACC-020-100
 type: string       enum:     The API consumer is -not UAEOFauthorised.Arrival

          -content:
UAEOF.Execution     ScheduledPaymentDateTime:       descriptionapplication/json:
>-         Date (and time) information related toschema:
the scheduled payment (Arrival or         Execution) based on the ScheduleType field. All dates in the JSON
 $ref: "#/components/schemas/Error"

      security:
      payloads are represented- inbearerAuth: ISO[]
8601
date-time format.  /accounts/{accountId}/balances:
    get:
    All date-time fieldstags:
in responses must include the timezone. An example - balances
      issummary: below:Fetch the balances for the account specified by the  2017-04-05T10:43:07+00:00account id.
      typeoperationId: findBalancesByAccountId
string
      formatdescription: date-time|
    ProductId:    ###### BAL-020-010

description: >-       Retrieves the Identifierbalance withinfor theaccount LFIspecified forby the `accountId` productparameter.

 Must be unique in the   ###### BAL-020-110

   organisation.     If the type:`balanceType` stringis specified, the financial institution must return minLength:the 1specified balance type only.

  maxLength: 40     AEProductType1Code:
###### BAL-020-120
     description: Descriptive code forIf the product.balanceType is not specified, the financial institution may type:return stringmore than one balance record AEProductName:for each account. Each row would represent description:a Descriptivebalance nameof fora thedifferent producttype.

      typeparameters:
string     ScheduledPaymentId:   # common header parameters description:that >-set context
       A unique- and immutable identifier produced by the LFI to identify the
  $ref: "#/components/parameters/providerId"
        - $ref: "#/components/parameters/aspspId"
     scheduled payment resource. This- identifier has no meaning to the$ref: "#/components/parameters/callerOrgId"
        - $ref: "#/components/parameters/callerClientId"
 account owner.      - type$ref: string"#/components/parameters/callerSoftwareStatementId"
      minLength: 1 - $ref: "#/components/parameters/apiUri"
   maxLength: 40    - BeneficiaryId$ref: "#/components/parameters/apiOperation"
     description: >-  - $ref: "#/components/parameters/consentId"
    A unique and immutable identifier- used to identify the beneficiary$ref: "#/components/parameters/callerInteractionId"
        resource.- This identifier has no meaning to the account owner.
      type: string$ref: "#/components/parameters/ozoneInteractionId"
        - $ref: "#/components/parameters/psuIdentifier"

        # minLength:Path 1param definitions
     maxLength: 40  - name: accountId
AEBeneficiaryTypeCode:       description: >-  in: path
     Specifies the Beneficiary Type. Encoded withdescription: allowableId valuesof of:the account to be queried
    'Activated' - Beneficiary has been added torequired: thetrue
beneficiary list using        schema:
SCA. 'NotActivated' - Beneficiary has been added to the beneficiary list  type: string

    without SCA   # query parameters
 type: string      - enumname: balanceType
       - UAEOF.Activated  in: query
     - UAEOF.NotActivated     AEBranchAndFinancialInstitutionIdentification6_0description: The type of balance to be type:returned
object       description: >-  schema:
      Party that manages the account on behalf of the account owner, that is$ref: "#/components/schemas/CbuaeBalanceType"


      responses:
    manages the registration and booking"200":
of entries on the account,      description: successful operation
calculates balances on the account and provides information about the content:
       account.     application/json:
    This is the servicer of the beneficiary account.   schema:
   required:         - IdentificationType   $ref: "#/components/schemas/BalancesResponse"
    - Identification   "400":
   properties:       description: |
IdentificationType:           $ref: >-The operation __must__ be failed with a status of `400` under the  #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
following error conditions:

      Identification:      - ###### BAL-020-020
  $ref: '#/components/schemas/Identification_1'         Name:  The balance for account corresponding to the `accountId` query $ref: '#/components/schemas/Name_1'
        PostalAddress:parameter does not exist or is under a bar

           $ref: '#/components/schemas/AEPostalAddress6'
  - ###### BAL-020-030
    additionalProperties: false     AECashAccount5_0:    The `o3-provider-id` header type:is objectmissing or has an unexpected value

required:         - IdentificationType  - ###### BAL-020-130
    - Identification       description: Provides theThe details`balanceType` toquery identifyparameter thehas beneficiaryan account.unexpected value or is not supported by properties:the financial institution.

     IdentificationType:       The operation __should__ be $ref: '#/components/schemas/AEExternalAccountIdentificationCode'
        Identification:failed with a status of `400` under the following error conditions:

          $ref: '#/components/schemas/Identification_0'
   - ###### BAL-020-040
   additionalProperties: false     AECashAccount6_0:     The financial type:institution objectshould fail the call if the  description: >
 `o3-psu-identifier` header is not specified.

     Creditor account details available in case the transaction- is a Debit###### BAL-020-050
         transaction.     Both the `accountId` query parameter Theseand are optional because therethe `o3-psu-identifier` header parameter are situationsnot wherespecified.
this
cannot be         populated for theThe following Debit transactions:

        - cash withdrawals (no creditor account/agent)operation __may__ be failed with a status of `400` under the following error conditions:

            - cheques and DDs may not have this information at least during the###### BAL-020-070, BAL-020-080, BAL-020-090
              One or processmore of clearingthe andmandatory sometimes (e.g. for agency banks) may not be
    header parameters is not specified or has an unexpected value
   reconciled ever          - some corner situations with international payments`o3-api-uri`,
              - `o3-api-operation`,
  for card payments (instead merchant information fields should be    - `o3-ozone-interaction-id`
   populated)       propertiescontent:
        IdentificationType    application/json:
          $ref: '#/components/schemas/AEExternalAccountIdentificationCode'   schema:
     Identification:           $ref: '"#/components/schemas/Identification_0'Error"

        Name"401":
          $refdescription: '#/components/schemas/Name_0'|
        additionalProperties: false   The operation AECashAccount6_1:
      type: object
__must__ be failed with a status of `401` under the following error conditions:

    description: >       - ###### AccountBAL-020-100
details of the Debtor in case the transaction is a Credit    The API consumer is not transactionauthorised.

          Thesecontent:
 are optional because there are situations where this cannot be  application/json:
      populated for the following Credit transactions   schema:
      - cash deposits (no creditor account/agent)     $ref: "#/components/schemas/Error"

  - cheques and DDs maysecurity:
not have this information at least during the - bearerAuth: []

  /accounts/{accountId}/transactions:
 process of clearing andget:
sometimes (e.g. for agency banks) may nottags:
be        - reconciledtransactions
ever      summary: Fetch transactions for -the someaccount cornerspecified situationsby withthe internationalaccountId
payments      description: |
   - for refunds with card payments###### TXN-020-010
(instead merchant information fields     Retrieves all the transactions shouldfor bethe populated)account specified by the `accountId` in the properties:URL.

       IdentificationType: ###### TXN-020-011
        $ref: '#/components/schemas/AEExternalAccountIdentificationCode'
        Identification:
     Retrieves the transactions for the account specified, starting from the specified valid `fromBookingDateTime` query parameter, until today.

   $ref: '#/components/schemas/Identification_0'    ###### TXN-020-012
   Name:     Retrieves the transactions for the account $ref: '#/components/schemas/Name_0'
      additionalProperties: false
    Reference:specified, starting from the begining, and ending at the specified valid `toBookingDateTime` query parameter.

      description: >- ###### TXN-020-013
      Unique reference inRetrieves the contexttransactions offor the account creditorspecified, providedstarting byfrom the the specified valid `fromBookingDateTime` query parameter, and ending creditor toat the User1 (Debtor), to unambiguously refer to the paymentspecified valid `toBookingDateTime` query parameter.

        ###### TXN-020-020
transaction. Usage: If available, the initiating party (i.e. Debtor)
        provides this reference in the structured remittance information, to
    If the account does not exist or is under a bar, then the financial institution should return an error with status 400.

   enable reconciliation by theoperationId: CreditorfindTransactionsByAccountId
upon receipt of the amount of parameters:
       money. This# fieldcommon isheader populatedparameters bythat theset Usercontext
1 (who is the initiating    - $ref: "#/components/parameters/providerId"
  party of the payment e.g. the Debtor). Field is free format text- $ref: "#/components/parameters/aspspId"
        - type$ref: string"#/components/parameters/callerOrgId"
      minLength: 1       maxLength: 35- $ref: "#/components/parameters/callerClientId"
    TransactionId:    -   description$ref: >-"#/components/parameters/callerSoftwareStatementId"
        Unique- identifier for the transaction within an servicing institution.$ref: "#/components/parameters/apiUri"
        - $ref: "#/components/parameters/apiOperation"
  This identifier is both unique and immutable.- $ref: "#/components/parameters/consentId"
    type: string   - $ref: "#/components/parameters/callerInteractionId"
 minLength: 1      - maxLength$ref: 210"#/components/parameters/ozoneInteractionId"
    TransactionReference:    - $ref:  description: >"#/components/parameters/psuIdentifier"

        # UniquePath referenceparam fordefinitions
the transaction.       - name: accountId
When processed through a national payment system, it is mandatory toin: bepath
        populated by thedescription: LFI.Id of the account to be  queried
  As an example, it may be a reference coderequired: fortrue
the local payment scheme."       typeschema:
string       minLength: 1       maxLengthtype: 210
string
   AECreditDebitCode_1:       descriptionexample: Indicatesabc-123

whether the transaction is a credit or a debit- entry.
$ref: "#/components/parameters/transaction-fromBookingDateTime"
     type: string  - $ref: "#/components/parameters/transaction-toBookingDateTime"

 enum:     responses:
   - UAEOF.Credit    "200":
    - UAEOF.Debit     AEEntryStatusCodedescription: successful operation
    description: Status of a transaction entry oncontent:
the books of the account servicer.       typeapplication/json: string
      enum:        schema:
- UAEOF.Booked         - UAEOF.Pending     $ref: "#/components/schemas/TransactionsResponse"
  - UAEOF.Rejected     AETransactionMutabilityCode"400":
      description: Specifies the Mutability ofdescription: the|
Transaction record.       type: string   The operation __must__ be enum:failed with a status of `400` under the following - UAEOF.Mutableerror conditions:

       - UAEOF.Immutable    - BookingDateTime:
###### TXN-020-020
     description: >        If Datethe andaccount timedoes whennot aexist transactionor entry is postedunder toa anbar, accountthen on the financial institution should return an error with status 400.
account
servicer's books.          Usage: Booking- date is the expected booking date, unless the status is###### TXN-020-040
              If  booked, in which case it is the actual booking date.the `o3-psu-identifier` header parameter is not specified.

            All- dates in the JSON payloads are represented in ISO 8601 date-time###### TXN-020-030
              The `o3-provider-id` header format.is missing or has an unexpected value

   All date-time fields in responses must include the timezone. An- example###### TXN-020-050
       is below: 2017-04-05T10:43:07+00:00     Both the type:`accountId` stringquery parameter and the `o3-psu-identifier` header parameter format: date-time
are not specified.

  ValueDateTime:       description: >  - ###### TXN-020-170
    Date and time at which assets become available to the accountThe owner`fromBookingDateTime` inis not in ISO Date format

  case of a credit entry, or cease to be available to- the account owner in###### TXN-020-180
          case of a debit transactionThe entry.`toBookingDateTime` is not in ISO Date format

   Usage: If transaction entry status is pending and value dateThe is present,
        then the value date refers to an expected/requested value date.operation __may__ be failed with a status of `400` under the following error conditions:

            -  For transaction entries subject to availability/float and for which###### TXN-020-070, TXN-020-080, TXN-020-090
              availabilityOne informationor ismore provided,of the valuemandatory header dateparameters mustis not specified or behas used.an unexpected value
      In this case the availability component identifies the number of- `o3-api-uri`,
        availability days.     - `o3-api-operation`,
   Availability float refers to the time period between fund deposits and - `o3-ozone-interaction-id`

     clearing.     content:
    The float is essentially double-counted money: a paid sum which, due toapplication/json:
           delays in processing, appearsschema:
simultaneously in the accounts of the         payer and the payee.$ref: "#/components/schemas/Error"
        "401":
All dates in the JSON payloads are represented in ISO 8601 date-timedescription: |
        format. All date-time fields inThe responsesoperation __must__ be includefailed thewith timezone.a Anstatus of `401` under the following error conditions:

example is below: 2017-04-05T10:43:07+00:00"       type: string - ###### TXN-020-100
   format: date-time     TransactionInformation:     The API description:consumer >-is not authorised.

     Further detailssecurity:
of the transaction. This is the transaction narrative, - bearerAuth: []

  /accounts/{accountId}/direct-debits:
 which is unstructured text.get:
      typetags:
string        minLength: 1- direct-debits
      maxLengthsummary: 500Fetch the direct debits specified StreetName:by the account id

  description: Name of a streetdescription: or|
thoroughfare.       type: string###### DBT-020-010

    minLength: 1   Retrieves the direct debits maxLength:specified 70by the `accountId` parameter.

ShortAddress:       descriptionoperationId: 8findDirectDebitByAccountId
character Unique alphanumeric Code.    parameters:
  type: string     # common minLength:header 1parameters that set context
   maxLength: 8    - BuildingNumber$ref: "#/components/parameters/providerId"
     description: Number that identifies- the position of a building on a street.$ref: "#/components/parameters/aspspId"
        - $ref: "#/components/parameters/callerOrgId"
 type: string      - minLength$ref: 4"#/components/parameters/callerClientId"
       maxLength: 4- $ref: "#/components/parameters/callerSoftwareStatementId"
  SecondaryNumber:      - description$ref: Secondary Number, if required"#/components/parameters/apiUri"
        - type$ref: string"#/components/parameters/apiOperation"
        - minLength$ref: 4"#/components/parameters/consentId"
      maxLength: 4 - $ref: "#/components/parameters/callerInteractionId"
 District:       - description$ref: Identifies the District of a City"#/components/parameters/ozoneInteractionId"
        - $ref:  type: string"#/components/parameters/psuIdentifier"

       minLength: 1# Path param definitions
   maxLength: 35    - AECountryname: accountId
     description: Identifies a county either byin: fullpath
name or country code       typedescription: stringId of the account to be  pattern: ^[A-Z]{2,2}$queried
     City:       descriptionrequired: Identifiestrue
the City of a Country       typeschema:
string       minLength: 1    type: string

maxLength: 35     AccountIdresponses:
      description: >- "200":
       A unique and immutabledescription: identifiersuccessful producedoperation
by the LFI to identify the     content:
   account resource.This identifier has no meaning to the account owner application/json:
       (User 1).      schema:
type: string       minLength: 1       maxLength: 40$ref: "#/components/schemas/DirectDebitsResponse"
     StatusUpdateDateTime:   "400":
   description: >-      description: |
 Date and time at which the account resource status was updated. AllThe operation __must__ be failed with a status of dates`400` inunder the JSONfollowing payloadserror areconditions:
represented
in ISO 8601 date-time         format.- ###### DBT-020-020
        All date-time fields in responses must includeThe theaccount timezone.corresponding Anto examplethe `accountId` query parameter does not exist or  is below:under a bar

      2017-04-05T10:43:07+00:00      - type: string###### DBT-020-030
      format: date-time     AEUnitNumber:  The `o3-provider-id` header is missing description:or Thishas isan theunexpected unitvalue
number
of the business premises or dwelling       type:The numberoperation __should__ be failed with a status example:of 10`400` under the following error AEAddressTypeCodeconditions:

     description: Postal Address type specifies the the nature- of the postal address.###### DBT-020-040
        type: string     The financial enum:institution should fail the call if the   `o3-psu-identifier` UAEOF.Businessheader is not specified.

    - UAEOF.Correspondence       - ###### - UAEOF.DeliveryToDBT-020-050
        - UAEOF.MailTo     Both the `accountId` query -parameter UAEOF.POBoxand the `o3-psu-identifier` header parameter are not specified.

- UAEOF.Postal         - UAEOF.Residential The operation __may__ be failed with a status -of UAEOF.Statement`400` under the following error AEAccountStatusCodeconditions:

     description: |      - ######  Specifies the status of account resource in code form.DBT-020-070, DBT-020-080, DBT-020-090
              One or more of [Active]: It means that the account is exist and active. 
the mandatory header parameters is not specified or has an unexpected value
         [NotActive]: It means that the account has been not active for 6 to 12 months.- `o3-api-uri`,
              - `o3-api-operation`,
   [Dormant]: It means that the accounts has been Inactive for 1 to 5 years.- `o3-ozone-interaction-id`

          [Unclaimed]content:
It means that the accounts has been Inactive for more than 5 years. application/json:
          [Deceased]: Indicates that the accountschema:
holder has passed away.           [Suspended]: If the account is suspended do to any reason.$ref: "#/components/schemas/Error"

        "401":
       [Closed]: If the accountdescription: is|
closed       type: string    The   enum:
        - Active
  operation __must__ be failed with a status of `401` under the following error conditions:

    - NotActive       - ###### DBT-020-100
Dormant         - Unclaimed    The API consumer is not -authorised.
Deceased
        - Suspended content:
       - Closed     ActiveOrHistoricCurrencyCode_0application/json:
      description: >-       schema:
 Identification of the currency in which the account is held. A code    $ref: "#/components/schemas/Error"

  allocated to a currency undersecurity:
an international currency identification     - bearerAuth: []

scheme, as described in the latest edition of the international standard /accounts/{accountId}/scheduled-payments:
    get:
       tags:
   ISO 4217 'Codes for the representation- ofscheduled-payments
currencies and funds'.    summary: Fetch the type:scheduled stringpayments specified by the account id

pattern: ^[A-Z]{3,3}$     description: |
example: AED     ActiveOrHistoricCurrencyCode_1:  ###### FDP-020-010

  description: >-     Retrieves the scheduled payments A 3specified characterby alphabeticthe code`accountId` allocatedparameter.
to
a currency under an   operationId: findScheduledPaymentByAccountId
    international currency identificationparameters:
scheme, as described in the latest   # common header parameters that set editioncontext
of the international standard ISO 4217 'Codes for the- $ref: "#/components/parameters/providerId"
      representation of currencies- and funds'.$ref: "#/components/parameters/aspspId"
      type: string - $ref: "#/components/parameters/callerOrgId"
   pattern: ^[A-Z]{3,3}$    -   example$ref: AED"#/components/parameters/callerClientId"
    AEExternalAccountTypeCode:    -   description$ref: Specifies the type of account (Retail or Corporate).
      type: string"#/components/parameters/callerSoftwareStatementId"
        - $ref: "#/components/parameters/apiUri"
        -  enum:$ref: "#/components/parameters/apiOperation"
        - UAEOF.Retail$ref: "#/components/parameters/consentId"
        - UAEOF.Corporate
 $ref: "#/components/parameters/callerInteractionId"
  AEExternalAccountSubTypeCode:      - description$ref: >-"#/components/parameters/ozoneInteractionId"
        Specifies- the sub type of account (product family group). Examples
        values include: CurrentAccount, Savings, CreditCard, PrePaidCard,
  $ref: "#/components/parameters/psuIdentifier"

        # Path param definitions
        - name: accountId
     EMoney, ChargeCard, Other   in: path
  type: string       x-namespaced-enumdescription: Id of the account to be queried
 - CurrentAccount        required: -true
Savings         - CreditCardschema:
        - PrePaidCard   type: string

   - EMoney  responses:
      - ChargeCard "200":
       - Other     Description_0description: successful    operation
 description: Specifies the description of the account sub-type.  content:
    type: string       minLengthapplication/json:
1        maxLength: 35     Nicknameschema:
      description: >-         The nickname of the account, assigned by User 1 to provide an additional$ref: "#/components/schemas/ScheduledPaymentsResponse"
        "400":
          anddescription: easier|
means of identification of the account at the LFI.    The operation  type: string
      minLength: 1__must__ be failed with a status of `400` under the following error conditions:

      maxLength: 70     OpeningDate:- ###### FDP-020-020
    description:  >-        The Dateaccount oncorresponding whichto the account`accountId` andquery itsparameter relateddoes basicnot servicesexist byor LFIis startedunder a bar

     to be operational for User 1. All dates- in the JSON payloads are###### FDP-020-030
           represented in ISO 8601The date-time format. All date-time fields in`o3-provider-id` header is missing or has an unexpected value

         responses must include theThe timezone. An example is below:
        2017-04-05T10:43:07+00:00operation __should__ be failed with a status of `400` under the following error conditions:

     type: string      - format: date-time###### FDP-020-040
    MaturityDate:       description: >  The financial institution should fail the call *if Fixed Term Loan Account
 the `o3-psu-identifier` header is not specified.

       MaturityDate is the date on which- the debt of an account must be paid in full. On this date, the principal amount of the debt is fully paid, so no further interest expense accrues###### FDP-020-050
              Both the `accountId` query parameter and the `o3-psu-identifier` header parameter are not specified.

         * Fixed Term SavingsThe Accountoperation __may__ be failed with a status of `400`   MaturityDate isunder the datefollowing onerror whichconditions:
the
savings mature and the balance can be withdrawn by the User without penalty- ###### FDP-020-070,    FDP-020-080, FDP-020-090
   * All dates in the JSON payloads are represented in ISO 8601One date-timeor more of the mandatory header parameters is not format.specified Allor date-timehas fieldsan inunexpected responsesvalue
must include the timezone. An         example is:- 2017`o3-04-05T10:43:07+00:00api-uri`,
      type: string       format: date-time- `o3-api-operation`,
    AEExternalAccountIdentificationCode:       description: >-  - `o3-ozone-interaction-id`

    Name of the identification scheme for thecontent:
account. Encoded with         allowable valuesapplication/json:
published in an external list.       type: string  schema:
    enum:         - UAEOF.IBAN     $ref: "#/components/schemas/Error"

  - UAEOF.AccountNumber     Identification_0"401":
      description: >   description: |
    Identification for the account assigned by the LFI basedThe on the Account
        Scheme Name. This identification is known by the User 1 account owner.operation __must__ be failed with a status of `401` under the following error conditions:

            - ###### FDP-020-100
 For IBAN, refer to the ISO Standard 13616.      The type:API stringconsumer is not authorised.

  minLength: 1       maxLengthcontent:
400     Identification_1:       descriptionapplication/json:
>         * /accounts resource   schema:
      Unique and unambiguous identification of the LFI as the account $ref: "#/components/schemas/Error"

     servicing institutionsecurity:
for the Open Banking Services.    - bearerAuth: []

    * /beneficiaries resource/accounts/{accountId}/standing-orders:
     get:
    Unique and unambiguoustags:
identification of the Creditor Agency as the  - standing-orders
     servicing institutionsummary: ofFetch the Beneficiary.standing orders specified by the account id

   * /scheduled-payments resource description: |
        Unique and unambiguous identification of the LFI as the account###### STO-020-010

        Retrieves the standing servicingorders institutionspecified forby the Open`accountId` Banking Servicesparameter.

      operationId: findStandingOrderByAccountId
  * /standing-orders resource  parameters:
        Unique# andcommon unambiguousheader identificationparameters of the LFI as the account
that set context
       servicing institution- for the Open Banking Services.$ref: "#/components/parameters/providerId"
        - $ref: "#/components/parameters/aspspId"
   * /transactions resource   - $ref: "#/components/parameters/callerOrgId"
     Unique and unambiguous identification- of the LFI as the account servicing institution for the Open Banking Services.$ref: "#/components/parameters/callerClientId"
        - $ref: "#/components/parameters/callerSoftwareStatementId"
        -  *$ref: "#/components/parameters/apiUri"
 Notes:       - $ref:  Based on the value of the field **IdentificationType**, this entry may"#/components/parameters/apiOperation"
        - $ref: "#/components/parameters/consentId"
        be- $ref: "#/components/parameters/callerInteractionId"
        *- UAEOF.BICFI$ref: The BIC/SWIFT Code"#/components/parameters/ozoneInteractionId"
        - $ref: "#/components/parameters/psuIdentifier"

      * UAEOF.OTHER: The# ID;Path Aparam Countrydefinitions
Code followed by a Bank Code (UAEOF 4 - name: accountId
     character code).    in: path
  type: string       minLengthdescription: 1
 Id of the account to be queried
    maxLength: 35     AEExternalFinancialInstitutionIdentificationCoderequired: true
      description: >   schema:
     * /accounts resource     type: string
    The name ofresponses:
the identification scheme for the LFI as the account"200":
        services provider. Encodeddescription: withsuccessful allowableoperation
value as published in an      content:
  external list.         application/json:
 * /beneficiaries resource           Refersschema:
to the Financial Institution that manages the account on behalf       $ref:  of the Beneficiary party, managing registration, booking of entries on"#/components/schemas/StandingOrdersResponse"
        "400":
         the account,description: calculating|
balances on the account and providing       The operation information about the account. This is the servicing Financial
   __must__ be failed with a status of `400` under the following error conditions:

   Institution of the Beneficiary account.     - ###### STO-020-020
   * /scheduled-payments resource         The account Referscorresponding to the identification`accountId` schemequery forparameter uniquelydoes identifyingnot theexist or is under a bar

  Creditor Agent.         -  * /standing-orders resource###### STO-020-030
           Refers to the identification scheme for uniquely identifying the
   The `o3-provider-id` header is missing or has an unexpected value

   Creditor Agent.        The operation __should__ *be /transactionsfailed resourcewith a status of `400` under the following error conditions:

Refers to the identification scheme for uniquely identifying the    - ###### STO-020-040
  Creditor Agent.       type: string   The financial institution should enum:fail the call if the `o3-psu-identifier` header is not - UAEOFspecified.BICFI

       - UAEOF.OTHER    - AccountIdentifiers:
###### STO-020-050
     type: array       items: The financial institution should fail the call if type:the object`accountId` does not refer to an account that
 description: Provides the details to identify an account.      is accessible by required:a the PSU identified by the `o3-psu-identifier` header.

  - IdentificationType         The operation - Identification
        properties:
 __may__ be failed with a status of `400` under the following error conditions:

       IdentificationType:     - ###### STO-020-060, STO-020-070, STO-020-080
   $ref: '#/components/schemas/AEExternalAccountIdentificationCode'          One Identification:or more of the mandatory header parameters is not specified or has an $ref: '#/components/schemas/Identification_0'unexpected value
          Name:    - `o3-api-uri`,
       $ref: '#/components/schemas/Name_0'      - `o3-api-operation`,
 additionalProperties: false     AEBranchAndFinancialInstitutionIdentification5_0:       type: object- `o3-ozone-interaction-id`

     required:     content:
   - IdentificationType        application/json:
- Identification       description: >-     schema:
   Party that manages the account on behalf of the account owner, that is $ref: "#/components/schemas/Error"

     manages the registration and"401":
booking of entries on the account,     description:  |
 calculates balances on the account and provides information about the  The operation __must__ be failed with a account.status of `401` under the following error propertiesconditions:

       IdentificationType:     - ###### STO-020-090
    $ref: >-         The API consumer  #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
is not authorised.

      Identification:    content:
      $ref: '#/components/schemas/Identification_1'     application/json:
 additionalProperties: false     CreationDateTime:       descriptionschema:
 >-         Date and time at which the resource was created.All dates in the JSON$ref: "#/components/schemas/Error"

      security:
     payloads are represented in- ISObearerAuth: 8601[]
date-time
format.  /customer:
    get:
   All date-time fields intags:
responses must include the timezone. An example  - customers
     is belowsummary: Fetch customer
       2017-04-05T10:43:07+00:00
description: |

    type: string   ###### CUS-010-040

 format: date-time     AEConsentPermissions: The API must return the customer type:for arraythe PSU identified by the `o3-psu-identifier` header.
description:
>        ###### SpecifiesCUS-010-190
the
permitted Account Access data types.    If no customer is found, the call Thismust isreturn a listsuccess ofstatus thecode data`200` groupswith beingan consentedempty by`data` theobject.
User,
and      operationId:  findCustomer
requested for authorization with the LFI. parameters:
     items:   # common header parameters that set type:context
string        - enum$ref:  "#/components/parameters/providerId"
        - ReadAccountsBasic
 $ref: "#/components/parameters/aspspId"
        - ReadAccountsDetail
$ref: "#/components/parameters/callerOrgId"
         - ReadBalances
$ref: "#/components/parameters/callerClientId"
         - ReadBeneficiariesBasic
 $ref: "#/components/parameters/callerSoftwareStatementId"
        - ReadBeneficiariesDetail
$ref: "#/components/parameters/apiUri"
         - ReadTransactionsBasic
$ref: "#/components/parameters/apiOperation"
         - ReadTransactionsDetail
$ref: "#/components/parameters/consentId"
         - ReadTransactionsCredits
 $ref: "#/components/parameters/callerInteractionId"
        - ReadTransactionsDebits
$ref: "#/components/parameters/ozoneInteractionId"

        - ReadProduct
name: o3-psu-identifier
         - ReadScheduledPaymentsBasicin: header
         - ReadScheduledPaymentsDetailschema:
          - ReadDirectDebits type: string
        - ReadStandingOrdersBasic required: true
        - ReadStandingOrdersDetail description: A Base64 encoded representation of the psuIdentifier JSON object.
-
ReadConsents      responses:
    - ReadPartyPSU   "200":
       - ReadPartyPSUIdentity  description: successful operation
      - ReadParty   content:
   minItems: 1     AEReadBeneficiary:   application/json:
   description: List of Beneficiaries for an Account     schema:
 type: object       required:       $ref:  - Data"#/components/schemas/CustomerResponse"
        "400":
 - Links        description: -|
Meta       properties:     The operation __must__ be Data:failed with  a status of `400` under the following error typeconditions:
object
          description: Primary data- for the resource###### CUS-010-040
           required:   The `o3-psu-identifier` header parameter are not specified.

  - AccountId         - ######   CUS-010-030
Beneficiary           properties:   The `o3-provider-id` header is missing or has an unexpected value
AccountId:

            The $ref: '#/components/schemas/AccountId'
            Beneficiary:operation __may__ be failed with a status of `400` under the following error conditions:

            -  type: array
###### CUS-010-070, CUS-010-080, CUS-010-090
             items: One or more of the mandatory header parameters is not specified or has an unexpected value
$ref: '#/components/schemas/AEBeneficiary'           additionalProperties: false - `o3-api-uri`,
      Links:        - `o3-api-operation`,
 $ref: '#/components/schemas/Links'         Meta:   - `o3-ozone-interaction-id`

     $ref: '#/components/schemas/MetaTotalPages'    content:
  additionalProperties: false     AEBeneficiary:    application/json:
  description: Beneficiaries for a specific AccountId       typeschema:
object       required:         - BeneficiaryId$ref: "#/components/schemas/Error"

       - BeneficiaryType"401":
      properties:    description: |
   BeneficiaryId:         The  $ref: '#/components/schemas/BeneficiaryId'
        BeneficiaryType:
 operation __must__ be failed with a status of `401` under the following error conditions:

       $ref: '#/components/schemas/AEBeneficiaryTypeCode'    - ###### CUS-010-100
  AccountHolderName:           $ref: '#/components/schemas/AccountHolderName'
     The API consumer is not authorised.

  AccountHolderShortName:        content:
  $ref: '#/components/schemas/AccountHolderShortName'         Referenceapplication/json:
          $ref: '#/components/schemas/Reference'   schema:
     SupplementaryData:           $ref: '"#/components/schemas/AESupplementaryData'Error"
      security:
 CreditorAgent:       - bearerAuth: []

 $ref /customers/action/cop-query:
>-    post:
      tags:
 #/components/schemas/AEBranchAndFinancialInstitutionIdentification6_0       - customers
CreditorAccount:      summary: Fetches customer data based type:on arraya confirmation of payee query
      itemsdescription: |
        The API is used by $ref: '#/components/schemas/AECashAccount5_0'
      additionalProperties: false
    AEReadAccount:Ozone to find customer records from the LFI based on a confirmation of payee query.

     description: List of AccountsOzone will send a query to  type: object
      required:
        - Datathe LFI that identifies a customer account. The financial institution must return the customer records associated with specified account.

        Ozone takes on -the Linksresponsibility of implementing the COP name matching rules. The -financial Metainstitution must return the customer records that properties:match the COP query.

    Data:    The financial institution may return multiple customer type:records objectfor a single account. (e.g. for joint accounts)

  description: Primary data for the resource In situations where the customer is not found, the financial required:institution must return a success status code `200` with an empty `data`  - Accountobject. e.g.
          - properties:account is not found
         Account: - account is under a bar
        type: array - customer has opted out of COP

      items:  Note that this operation is not carried out under a consent and the call will $ref: '#/components/schemas/AEAccountArrayId'
  not have a `o3-consent-id` header

      additionalPropertiesoperationId: falsefindCustomerForCop
        Linksparameters:
         - $ref: '"#/components/schemas/Links'parameters/providerId"
        - Meta$ref: "#/components/parameters/aspspId"
        - $ref: '"#/components/schemas/MetaTotalPages'parameters/callerOrgId"
       additionalProperties: false- $ref: "#/components/parameters/callerClientId"
  AEReadAccountId:      - description$ref: Individual Account"#/components/parameters/callerSoftwareStatementId"
       type: object- $ref: "#/components/parameters/apiUri"
    required:    - $ref: "#/components/parameters/apiOperation"
  - Data     - $ref: "#/components/parameters/callerInteractionId"
 - Links      - $ref:  - Meta"#/components/parameters/ozoneInteractionId"

       propertiesrequestBody:
        Datarequired: true
        content:
 type: object        application/json:
  description: Primary data for the resource     schema:
     required:         $ref: "#/components/schemas/ConfirmationRequest"

 - AccountId    responses:
        -"200":
Account           propertiesdescription: successful operation
          AccountIdcontent:
            application/json:
  $ref: '#/components/schemas/AccountId'           schema:
 Account:               $ref: '"#/components/schemas/AEAccountId'CustomersResponse"
        "400":
       additionalProperties: false  description: |
     Links:       The operation __must__ be $ref: '#/components/schemas/Links'
        Metafailed with a status of `400` under the following error conditions:

         $ref: '#/components/schemas/MetaTotalPages'  - ######  CUS-010-040
 additionalProperties: false     AEActiveCurrencyAndAmount_SimpleType:       description: >-
    The `o3-psu-identifier` header parameter are not specified.

  A number of monetary units specified in an active currency where- the###### CUS-010-030
       unit of currency is explicit and compliant with ISO 4217.
      type: stringThe `o3-provider-id` header is missing or has an unexpected value


     pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$     AECreditDebitCode_2: The operation __may__ be failed with description:a >-status of `400` under the following error  conditions:
Indicates
whether the balance of the account is a credit or a debit - ###### CUS-010-070, CUS-010-080, CUS-010-090
   balance. Encoded with allowable values: 'Credit', 'Debit' Usage: A zero  One or more of the mandatory header balanceparameters is not consideredspecified or tohas bean aunexpected creditvalue
balance.       type: string       enum:- `o3-api-uri`,
        - UAEOF.Credit     - `o3-api-operation`,
  - UAEOF.Debit     AEBalanceTypeCode:       description: >- `o3-ozone-interaction-id`

        The type ofcontent:
balance for the account.         application/json:
 Encoded with allowable values of:         schema:
 * 'ClosingAvailable' - end of day balance specifying the amount      $ref: "#/components/schemas/Error"

available to User 1 to withdraw or use. "401":
         * 'ClosingBooked' - end of day balance including value of payments fordescription: |
            The operation __must__ be failed chequeswith ora paymentsstatus whichof have`401` notunder beenthe clearedfollowing yet.error conditions:

        * 'ClosingCleared' - end of- day balance including value of payments for###### CUS-010-100
             cheques orThe paymentsAPI whichconsumer haveis beennot clearedauthorised.

         * 'Expected'content:
- intra day balance including value of payments for cheques   application/json:
     or payments which have been cleared.    schema:
      * 'ForwardAvailable' - intraday balance specifying the amount available  $ref: "#/components/schemas/Error"
     to Usersecurity:
1 to withdraw or use considering forward dated payments- orbearerAuth: other[]

  /accounts/{accountId}/customer:
    intradayget:
payments or cheques that will be clearingtags:
to the account.      - customers
   * 'Information' - TBC.summary: Fetch the customers specified by the account id
  * 'InterimAvailable' - intraday balancedescription: specifying|
the
amount available       ###### CUS-020-040
to
User 1 to withdraw or use (most probably real-time.'InterimBooked' -
        intraday balance including value of payments for cheques or payments The API must return the customer for the PSU identified by the `o3-psu-identifier` header.

        ###### CUS-020-190

  which have not been cleared yet. If no customer is found, the call must return a *success 'InterimCleared'status -code intraday`200` balancewith includingan valueempty of`data` paymentsobject.
for
      operationId: findCustomerByAccountId
cheques or payments which have been clearedparameters:
(probably real-time).       # common header parameters *that 'OpeningAvailable'set -context
start of day balance specifying the amount  - $ref: "#/components/parameters/providerId"
    available to User 1 to- withdraw or use.$ref: "#/components/parameters/aspspId"
        - $ref:  * 'OpeningBooked' - start of day balance including value of payments for"#/components/parameters/callerOrgId"
        - $ref: "#/components/parameters/callerClientId"
        - cheques or payments which have not been cleared yet. 

 $ref: "#/components/parameters/callerSoftwareStatementId"
        - $ref: "#/components/parameters/apiUri"
      * 'OpeningCleared' - start of day balance including value of payments$ref: "#/components/parameters/apiOperation"
        - $ref: "#/components/parameters/consentId"
   for cheques or payments which have- been cleared.$ref: "#/components/parameters/callerInteractionId"
        - * 'PreviouslyClosedBooked' -TBC.$ref: "#/components/parameters/ozoneInteractionId"

        - name: o3-psu-identifier
Note: LFIs support different types for presenting account balance, so in: header
      this list is used toschema:
support different LFI systems in UAE.       type: string
      enum:    required: true
   - UAEOF.ClosingAvailable      description: A Base64 -encoded UAEOF.ClosingBookedrepresentation of the psuIdentifier JSON object.

  - UAEOF.ClosingCleared     # Path param definitions
- UAEOF.Expected         - UAEOF.ForwardAvailablename: accountId
       - UAEOF.Information  in: path
     - UAEOF.InterimAvailable    description: Id of the account -to UAEOF.InterimBooked
        - UAEOF.InterimClearedbe queried
        - UAEOF.OpeningAvailable required: true
      - UAEOF.OpeningBooked   schema:
     - UAEOF.OpeningCleared      type: string
 - UAEOF.PreviouslyClosedBooked     ProprietaryBankTransactionCodeStructure1:   example: abc-123

 type: object    responses:
  required:      "200":
  - Code       description: successful >operation
        ProprietaryBankTransactionCode is mandatorycontent:
when the BankTransactionCode         (with code specifying the Domain, Family and SubFamily as per External application/json:
              schema:
  Codes ISO20022) is absent.           $ref: "#/components/schemas/CustomersResponse"
     Set of elements to"400":
fully identify a proprietary bank transaction code    description: |
 properties:         Code:  The operation __must__ be failed with a status of description:`400` >-under the following error conditions:

       Proprietary bank transaction code to identify- the underlying###### CUS-020-040
            transaction.  The `o3-psu-identifier` header parameter are not specified.

 type: string          - minLength: 1###### CUS-020-030
          maxLength: 35   The `o3-provider-id` header is missing or Issuer:has an unexpected value


     description: >-      The operation __may__ be failed with a Identificationstatus of the`400` issuer ofunder the proprietaryfollowing bankerror transactionconditions:

           code. - ###### CUS-020-070, CUS-020-080, CUS-020-090
     type: string        One or more minLength:of 1the mandatory header parameters is not specified or has an unexpected maxLength:value
35       additionalProperties: false     Name_0: - `o3-api-uri`,
    description: >-         The account name is the name or names of the User 1 account owner(s)
   - `o3-api-operation`,
              - `o3-ozone-interaction-id`

   represented at an account level, as displayed bycontent:
the LFI's online         channels. Noteapplication/json:
The account name is not the product name or the nickname    schema:
    of the account.       type: string  $ref: "#/components/schemas/Error"

  minLength: 1     "401":
 maxLength: 70     Name_1:   description: |
  description: >         *The Beneficiaryoperation __must__ be failed with a status of `401` under Namethe byfollowing whicherror anconditions:
agent
is known and which is usually used to identify    - ###### CUS-020-100
  that agent           *The CreditorAPI agentconsumer is not authorised.

     Name by which the Financial institution(FI) which is the creditor is content:
            application/json:
known and which is usually used to identify that FI.     schema:
     * DebtorAgent          Name by which an financial institution of the debtor is known and which$ref: "#/components/schemas/Error"
      security:
        - bearerAuth: []

is usually used to identify that financial institution. /accounts/{accountId}/beneficiaries:
    get:
      typetags:
string        minLength:- 1beneficiaries
      maxLengthsummary: 140Fetch the beneficiaries specified by Name_2:the account id

   description: >-  description: |
     This is the name of the regulated beneficiary entity that initiates the###### BEN-020-010

        Retrieves the beneficiaries specified by the Direct`accountId` Debit collectionparameter.

     type: string  ###### BEN-020-020

  minLength: 1     The account maxLength:corresponding 70to the `accountId` query parameter AEBranchAndFinancialInstitutionIdentification6_1:does not exist or is under a type:bar
object
      descriptionoperationId: >findBeneficiariesByAccountId
      parameters:
 Financial institution servicing an account for the creditor# incommon caseheader theparameters that set context
     transaction is a Debit- transaction.
$ref: "#/components/parameters/providerId"
        These- are optional because there are situations where this cannot be
  $ref: "#/components/parameters/aspspId"
        - $ref: "#/components/parameters/callerOrgId"
     populated for the following- Debit transactions
$ref: "#/components/parameters/callerClientId"
        - Cash withdrawals (no creditor account/agent)
$ref: "#/components/parameters/callerSoftwareStatementId"
        - Cheques and DDs may not have this information at least during the
$ref: "#/components/parameters/apiUri"
        - $ref: "#/components/parameters/apiOperation"
       process of- clearing and sometimes (e.g. for agency banks) may not be
    $ref: "#/components/parameters/consentId"
        - $ref: "#/components/parameters/callerInteractionId"
   reconciled ever    - $ref: "#/components/parameters/ozoneInteractionId"
   - Some corner situations with international- payments $ref: "#/components/parameters/psuIdentifier"

        -# ForPath cardparam paymentsdefinitions
(instead merchant information fields should be   - name: accountId
   populated)       propertiesin: path
       IdentificationType:   description: Id of the account to be queried
$ref: >-         required: true
  #/components/schemas/AEExternalFinancialInstitutionIdentificationCode         Identificationschema:
          $ref: '#/components/schemas/Identification_1'
  type: string
      Nameresponses:
        "200":
  $ref: '#/components/schemas/Name_1'       description: successful PostalAddress:operation
          $refcontent:
'#/components/schemas/AEPostalAddress6'
      additionalProperties: false     PostCodeapplication/json:
      description: >-       schema:
 Identifier consisting of a group of letters and/or numbers that is added    $ref: "#/components/schemas/BeneficiariesResponse"
   to a postal address to assist"400":
the sorting of mail.       typedescription: |
string       minLength: 1    The operation  maxLength: 16
    AEPostalAddress6:
      type: object__must__ be failed with a status of `400` under the following error conditions:

         description: >-  - ###### BEN-020-020
    Postal Address specifies Information that locate and identify a specific If the `accountsId` query parameter is not specified.
address,
as defined by postal services.       properties: - ###### BEN-020-030
     AddressType:         The  $ref: '#/components/schemas/AEAddressTypeCode'
        ShortAddress:`o3-provider-id` header is missing or has an unexpected value

            $ref: '#/components/schemas/ShortAddress'
        BuildingNumber:
   The operation __should__ be failed with a status of `400` under the following error conditions:

     $ref: '#/components/schemas/BuildingNumber'      - ###### BEN-020-040
UnitNumber:           $ref: '#/components/schemas/AEUnitNumber'  The financial institution should fail the call StreetName:if the `o3-psu-identifier` header is not specified.

   $ref: '#/components/schemas/StreetName'        - SecondaryNumber:
###### BEN-020-050
         $ref: '#/components/schemas/SecondaryNumber'    Both the `accountId` query parameter District:and the `o3-psu-identifier` header parameter are not specified.

  $ref: '#/components/schemas/District'         PostalCode:The operation __may__ be failed with a status of `400` under $ref: '#/components/schemas/PostCode'
 the following error conditions:

     City:       - ###### BEN-020-060,  $ref: '#/components/schemas/City'BEN-020-070, BEN-020-080
         Country:     One or more of the mandatory $ref: '#/components/schemas/AECountry'
      additionalProperties: falseheader parameters is not specified or has an unexpected value
    AEMerchantDetails1:       type: object  - `o3-api-uri`,
   description: >         Details of the Merchant involved in the transaction.- `o3-api-operation`,
              Merchant Details are specified only for those merchant categories that- `o3-ozone-interaction-id`

          content:
    are generally expected to originate retail financial transactions application/json:
     properties:         MerchantIdschema:
           description: MerchantId     $ref: "#/components/schemas/Error"

         type"401":
integer           minLengthdescription: 8|
          maxLength: 20 The operation __must__ be failed with a status MerchantName:of `401` under the following error conditions:

   description: Name by which the merchant is known.  - ###### BEN-020-100
      type: string     The API consumer is not  minLength:authorised.
1
          maxLengthcontent:
350         MerchantCategoryCode:   application/json:
       description: >      schema:
      Category code values are used to enable the classification of $ref: "#/components/schemas/Error"

      security:
  merchants into specific categories based on the- typebearerAuth: of[]
business,
  /accounts/{accountId}/products:
    get:
    trade or servicestags:
supplied.        - products
     Category codesummary: conformsFetch toproducts.
ISO 18245, related to the type ofdescription: services|

        The API must orreturn goodsall the products merchantthat are providesprovided forby the transactionfinancial institution."

        If no type:products stringare found, the call must return a success status code `200` minLength:with 3an empty `data` array.

      maxLength: 4 It should be noted that the additionalProperties:TPP falsecalling the standards based API AETransactionCashBalance:may not do so under a consent. type:The objectPSU is not identifiable and the  required:
  `o3-consent-id` and `o3-psu-identifier` headers should not be expected.

    - CreditDebitIndicator operationId: findProducts
      -parameters:
Type        # -common Amountheader parameters that set context
  description: >-     - $ref: "#/components/parameters/providerId"
 Set of elements used to define the balance- as a numerical representation$ref: "#/components/parameters/aspspId"
        -  of the net increases and decreases in an account after a transaction$ref: "#/components/parameters/callerOrgId"
        - $ref: "#/components/parameters/callerClientId"
        entry- is applied to the account.$ref: "#/components/parameters/callerSoftwareStatementId"
        - properties$ref: "#/components/parameters/apiUri"
        CreditDebitIndicator- $ref: "#/components/parameters/apiOperation"
        - $ref: '"#/components/schemas/AECreditDebitCode_2'parameters/consentId"
        - Type$ref: "#/components/parameters/callerInteractionId"
        - $ref: '"#/components/schemasparameters/AEBalanceTypeCode'ozoneInteractionId"
        Amount:- $ref: "#/components/parameters/psuIdentifier"

        # type:Path objectparam definitions
        - requiredname: accountId
          in: path
  - Amount       description: Id of the account to -be Currencyqueried
          descriptionrequired: >-true
          schema:
 Amount   of money of the cash balance after a transactiontype: entrystring
is
      responses:
     applied to the account.. "200":
          propertiesdescription: successful operation
          Amountcontent:
            application/json:
 $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'             schema:
 Currency:               $ref: '"#/components/schemas/ActiveOrHistoricCurrencyCode_1'ProductsResponse"
          additionalProperties"400":
false       additionalProperties: false  description: |
 AEBankTransactionCodeStructure:       type: object   The operation __must__ be description:failed >with a status of `400` under the following error BankTransactionCodeconditions:
is
mandatory (with code specifying the Domain,       - ###### FamilyPRD-010-030
and SubFamily as per External Codes ISO20022) when the      The   ProprietaryBankTransactionCode`o3-provider-id` header is absent.missing or has an unexpected value

           Specifies the- domain, the family and the sub-family of the bank###### PRD-010-040
           transaction code, in a structured and hierarchical format.

        Usage: If a specific family or sub-family code cannot be provided, the
        generic family code defined for the domain or the generic sub-familyThe `o3-psu-identifier` header parameter is not specified.

            The operation __may__ be failed with a status of `400` under the following error conditions:

            code- defined for the family should be provided.###### PRD-010-070, PRD-010-080, PRD-010-090
            [https://www.iso20022.org/sites/default/files/2022-05/BTC_Codification_31May2022.xls](https://www.iso20022.org/sites/default/files/2022-05/BTC_Codification_31May2022.xls)
      properties:
        Domain:
  One or more of the mandatory header parameters is not specified or has an unexpected value
         description: Specifies the Domain  - `o3-api-uri`,
       type: string      - `o3-api-operation`,
 DomainCode:           description: Specifies the Domain Code.- `o3-ozone-interaction-id`

          typecontent:
string         Family:   application/json:
       description: Specifies the Family    schema:
      type: string         FamilyCode$ref: "#/components/schemas/Error"

        description"401":
Specifies the Family Code       description: |
  type: string         SubFamily:The operation __must__ be failed with a status of `401` under the description:following Specifieserror theconditions:
Sub-Family
          type: string - ###### PRD-010-100
     SubFamilyCode:         The API description:consumer Specifiesis the Sub-family Codenot authorised.

          typecontent:
string       additionalProperties: false     AECurrencyExchangeapplication/json:
      type: object       requiredschema:
        - SourceCurrency       $ref:  - TargetCurrency"#/components/schemas/Error"
      security:
   - UnitCurrency    - bearerAuth: []

components:
- ExchangeRate schemas:
    #
  - InstructedAmount # Schemas for Accounts
  description: Set of#
elements used to provide detailsAccountsResponse:
on the currency exchange.       propertiestype: object
       SourceCurrencydescription: |
        A description:descriptor >-for an account.
        This is Currencya fromcomposite whichobject an amount is tothat may be convertedexpanded in athe currencyfuture to support
        additional account conversion.types Afor codenew allocatedAPI tostandards aand currencyaccount bytypes.
a Maintenance Agency    example:
        underdata:
an international identification scheme, as described in the   - id: string
       latest edition of the international standard ISO 4217 "Codes for theaccountType: UAEOF.Retail
            accountSubType: string
  representation of currencies and funds".      currency: GBP
    type: string       status: Active
  pattern: ^[A-Z]{3,3}$         TargetCurrencyaccountHolderName: string
         description: >-  servicer:
          Currency into which an amount is to be converted in a currencyschemeName: UAEOF.BICFI
              identification:   string
conversion.A code allocated to a currency by a Maintenance Agency   accountNumbers:
         under an international identification scheme, as- describedname: instring
the             latest edition of the international standard ISO 4217 "Codes for theschemeName: UAEOF.IBAN
                identification: string
representation of currencies and funds".        product:
  type: string           patternid: ^[A-Z]{3,3}$ string
         UnitCurrency:     productName: string
    description: >-         bundleName: string

 Currency in which the rate of exchange ismeta: expressed{}
in a currency    properties:
        exchange.data:
In the example 1AED = xxxCUR, the unit currency is AED.Atype: array
          items:
code allocated to a currency by a Maintenance Agency under an  $ref: "#/components/schemas/CbuaeAccount"
        meta:
international identification scheme, as described in the latest   $ref: "#/components/schemas/Meta"

    AccountResponse:
  edition of the international standardtype: ISOobject
4217 "Codes for the   description: |
        representationA ofdescriptor currenciesfor andan funds"account.
        This is a type:composite stringobject that may be expanded in the future to support
 pattern: ^[A-Z]{3,3}$      additional account types ExchangeRate:for new API standards and account types.
    description: >- properties:
        data:
  Factor used to convert an amount from one currency into another.$ref: "#/components/schemas/CbuaeAccount"
        meta:
    This reflects the price at which one currency was bought with$ref: "#/components/schemas/Meta"

    CbuaeAccount:
      type:  object
another currency.     properties:
        Usageid:
ExchangeRate expresses the ratio between UnitCurrency and    type: string
       QuotedCurrency (ExchangeRateproduct:
= UnitCurrency/QuotedCurrency).           type$ref: number"#/components/schemas/ProductIdentifier"
        ContractIdentificationmultiAuth:
          descriptiontype: boolean
>-        businessCustomer:
    Unique identification to unambiguously identify the foreigntype: exchangearray
          items:
 contract.           type$ref: string"#/components/schemas/CustomerIdentifier"
        customers:
 minLength: 1        type:  array
maxLength: 35         QuotationDateitems:
          description: >- $ref: "#/components/schemas/CustomerIdentifier"
          Dateminimum: and1
time at which an exchange rate is quoted.All datesaccountHolderName:
in the         $ref: "#/components/schemas/AccountHolderName"
  JSON payloads are represented in ISO 8601accountHolderShortName:
date-time format.         $ref: "#/components/schemas/AccountHolderShortName"
    All date-time fields in responsesstatus:
must include the timezone. An      description: |
     example is below:     Specifies the status of account resource in code  2017-04-05T10:43:07+00:00
form.
          type: string
          formatenum:
date-time         InstructedAmount:   - Active
      type: object           required:- NotActive
            - AmountDormant
            - Unclaimed
Currency           description: >- Deceased
           Amount - ofSuspended
money to be moved between the debtor and creditor, before   - Closed
        deductionstatusUpdateDateTime:
of charges, expressed in the currency as ordered by the description: "Date and time at which the resource status was updated."
 initiating party.        type: string
 properties:         format: date-time
  Amount:      currency:
          $ref: '"#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'TCurrency"
        accountType:
    Currency:      description: "Specifies the type of account (Retail or Corporate)"
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'         type: string
additionalProperties: false       additionalProperties: false enum:
   AEReadProduct1:       description: Product detail- forUAEOF.Retail
an Account       type: object   - UAEOF.Corporate
  required:      accountSubType:
  - Data       type: string
- Links         x-namespaced-enum:
Meta       properties:     - CurrentAccount
  Data:          - type:Savings
object           description: Primary- dataCreditCard
for the resource          - required:PrePaidCard
            - AccountIdEMoney
            - ProductChargeCard
          properties:  - Other
         AccountIddescription:
          description: "Specifies the description $ref: '#/components/schemas/AccountId'
 of the account sub-type."
          Producttype: string
        nickName:
    type: array     description: "The nickname of the account, assigned by User 1 items:to provide an additional and easier means of identification of the account at the    $ref: '#/components/schemas/AEProduct'financial instituation"
          additionalPropertiestype: falsestring
        LinksopeningDate:
          $refdescription: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/MetaTotalPages' "Date on which the account and its related basic services by financial institution started to be operational for User 1"
          additionalPropertiestype: string
false     AEProduct:     format: date-time
type: object       descriptionmaturityDate:
Set    of elements used to define the productdescription: details.>
      required:      * Fixed Term -Loan ProductIdAccount
        - ProductType     MaturityDate is properties:the date on which the debt of an account ProductId:must be paid in full. On this date, the principal amount of $ref: '#/components/schemas/ProductId'
        ProductType:the debt is fully paid, so no further interest expense accrues.

         $ref: '#/components/schemas/AEProductType1Code'  * Fixed Term Savings Account
  ProductName:           $ref: '#/components/schemas/AEProductName'
        IsIslamic:
          $ref: '#/components/schemas/AEIsIslamic' MaturityDate is the date on which the savings mature and the balance can be withdrawn by the User without penalty
          Chargestype: string
          $refformat: '#/components/schemas/AECharge'date-time
        LendingRatesaccountNumbers:
          $reftype: '#/components/schemas/AELendingRate'array
          DepositRatesitems:
            $ref: '"#/components/schemas/AEDepositRate'
      additionalProperties: falseAccountIdentifiers"
    AEReadTransaction:       descriptionminimum: List1
of Transactions for an Account    servicer:
  type: object       required:  $ref: "#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0"
     - Datarequired:
        - Linksid
        - MetaaccountNumbers
      propertiesadditionalProperties: false

      DataAccountIdentifiers:
 
        type: object
          description: PrimaryProvides data for the resourcedetails to identify an account.
      required:
            - AccountIdschemeName
            - Transaction
  identification
       properties:
            AccountIdschemeName:
              $ref: '#/components/schemas/AccountIdAEExternalAccountIdentificationCode'
            Transactionidentification:
              type$ref: array'#/components/schemas/Identification_0'
              items:
   name:
            $ref: '#/components/schemas/AETransactionName_0'
      additionalProperties: false

 additionalProperties: false  AEExternalAccountIdentificationCode:
      Linksdescription: >-
        Name of $ref: '#/components/schemas/Links'
     the identification scheme for the account. Encoded with
  Meta:      allowable values published in an $ref: '#/components/schemas/MetaTransactions'external list.
      additionalPropertiestype: string
false      AETransactionCardInstrumentenum:
       type: object- UAEOF.IBAN
     required:   - UAEOF.AccountNumber

   - CardSchemeNameIdentification_0:
      description: >
- InstrumentType       description:Identification Setfor ofthe elementsaccount toassigned describeby the cardfinancial instrumentinstitution usedbased inon the transaction.Account
         properties:
        CardSchemeName:Scheme Name. This identification is known by the User 1 account owner.
        For IBAN, description:refer Nameto ofthe theISO cardStandard scheme13616.
      type: string
  type: string   minLength: 1
      enummaxLength: 400

    Name_0:
      description: >-
UAEOF.AmericanExpress        The account name is the -name UAEOF.Dinersor names of the User 1 account owner(s)
     - UAEOF.Discover  represented at an account level, as displayed by the financial institution's -online
UAEOF.GCC        channels. Note: The account name -is UAEOF.MasterCardnot the product name or the nickname
      - UAEOF.UPI of the account.
      type: string
 - UAEOF.VISA    minLength: 1
      maxLength: -70
UAEOF.mada
    AEBranchAndFinancialInstitutionIdentification5_0:
   InstrumentType:   type: object
      descriptionrequired:
The card instrument type.     - schemeName
    type: string   - identification
      enumdescription: >-
        Party that manages the -account UAEOF.ApplePayon behalf of the account owner, that is
     - UAEOF.madaPay  manages the registration and booking of entries on the account,
 - UAEOF.Contactless      calculates balances on the account and provides -information UAEOF.MagStripeabout the
        account.
  - UAEOF.Chip   properties:
        schemeName:
- UAEOF.Other         Name$ref: >-
         description: Name of the cardholder using the card instrument. #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
        identification:
      type: string   $ref: '#/components/schemas/Identification_1'
      minLengthadditionalProperties: 1false

     Identification_1:
   maxLength: 70  description: >
     Identification:   * /accounts resource

    description: >-   Unique and unambiguous identification of the financial institution as the Identificationaccount
assigned by an institution to identify the card servicing institution for the Open Finance services.


   instrument used in the transaction. This* identification/beneficiaries isresource
known
by        Unique and unambiguous identification of the accountCreditor owner,Agency andas MUSTthe
be masked.       servicing institution of the type:Beneficiary.
string

         minLength: 1* /scheduled-payments resource

        Unique maxLength:and 16unambiguous identification of the financial institution as the account
  example: 1234********4321     servicing institution additionalProperties:for falsethe Open Finance services.

AESupplementaryData:
      type: object * /standing-orders resource

  properties: {}     Unique and additionalProperties:unambiguous falseidentification of the financial institution as the description:account
>-        servicing Additionalinstitution informationfor thatthe canOpen notFinance beservices.
captured
in
the structured fields      * /transactions resource
and/or any other specific block.     AEBranchAndFinancialInstitutionIdentification6_2:Unique and unambiguous identification of the financial type:institution objectas the account servicing institution for the description:Open >Finance services.

      Financial institution servicing* an accountNotes:
for
the Debtor in case the    Based on the value of transactionthe is a Credit transaction.
field **IdentificationType**, this entry may
        Thesebe are:
optional
because there are situations where this cannot be * UAEOF.BICFI: The BIC/SWIFT Code

  populated for the following Credit transactions * UAEOF.OTHER: The ID; A Country Code followed by -a cashBank depositsCode (noUAEOF 4
 creditor account/agent)      character code).
  - cheques and DDs maytype: notstring
have this information at least during theminLength: 1
      maxLength: process35
of
clearing and sometimes (e.g. for agency banks) may not be
   AEExternalFinancialInstitutionIdentificationCode:
      description: >
     reconciled ever  * /accounts resource

    - some corner situations withThe internationalname paymentsof the identification scheme for the financial institution as the account
- for refunds with card payments  (instead merchantservices informationprovider. fieldsEncoded with allowable value as published in an
 should be populated)     external list.
properties:

       IdentificationType: * /beneficiaries resource

      $ref: >- Refers to the Financial Institution that manages the account on behalf
 #/components/schemas/AEExternalFinancialInstitutionIdentificationCode       of the Identification:Beneficiary party, managing registration, booking of entries on
   $ref: '#/components/schemas/Identification_1'    the account, calculating balances on Name:the account and providing
       $ref: '#/components/schemas/Name_1'
        PostalAddress: information about the account. This is the servicing Financial
        Institution of the $ref: '#/components/schemas/AEPostalAddress6'Beneficiary account.


    additionalProperties: false   *  AETransaction:/scheduled-payments resource

     type: object  Refers to the identification scheme description:for Providesuniquely furtheridentifying detailsthe
on an entry in the report.   Creditor Agent.


required:        * /standing-orders TransactionIdresource

       - CreditDebitIndicatorRefers to the identification scheme for uniquely identifying the
- Status       Creditor Agent.
-
BookingDateTime
        -* Amount/transactions resource

      - TransactionDateTime Refers to the identification scheme for uniquely identifying -the
TransactionType        Creditor -Agent.
SubTransactionType      type: string
 - PaymentModes    enum:
  properties:      - UAEOF.BICFI
 TransactionId:       - UAEOF.OTHER

 $ref: '#/components/schemas/TransactionId'  CustomersResponse:
      TransactionDateTimetype: object
      properties:
  $ref: '#/components/schemas/TransactionDateTime'     data:
   LocalTimeZone:       type: array
  $ref: '#/components/schemas/LocalTimeZone'       items:
 StatementReference:           $ref: '"#/components/schemas/StatementReference'CbuaeCustomer"
        TransactionReferencemeta:
          $ref: '"#/components/schemas/TransactionReference'Meta"

    CustomerResponse:
   TransactionType:   type: object
      $refproperties:
'#/components/schemas/TransactionType'         SubTransactionTypedata:
          $ref: '"#/components/schemas/SubTransactionType'CbuaeCustomer"
        TerminalIdmeta:
          $ref: '"#/components/schemas/TerminalId'Meta"

    CbuaeCustomer:
   Flags:   type: object
      typeproperties:
array        id:
  items:        type: string
   $ref: '#/components/schemas/Flags'      minLength: 1
 PaymentModes:         maxLength: 40
$ref: '#/components/schemas/PaymentMode'         CreditDebitIndicatordescription: >-
          $ref: '#/components/schemas/AECreditDebitCode_1'
        Status:
 A unique and immutable identifier used to identify the customer
         $ref: '#/components/schemas/AEEntryStatusCode'  resource. This identifier has no meaning to TransactionMutability:the account owner.
        $refnumber:
'#/components/schemas/AETransactionMutabilityCode'          BookingDateTimetype: string
          $refminLength: '#/components/schemas/BookingDateTime'1
        ValueDateTime:  maxLength: 35
       $ref: '#/components/schemas/ValueDateTime'  description: Number assigned by an agent to TransactionInformation:identify its customer.
        $refcustomerType:
'#/components/schemas/TransactionInformation'          Amounttype: string
         $ref enum: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_5'
          ChargeAmount:  - UAEOF.Delegate
       $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_6'    - UAEOF.Joint
   ChargeAmountVat:         - UAEOF.Sole
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_8'         CurrencyExchangedescription: >
         $ref: '#/components/schemas/AECurrencyExchange'  Specifies the party type.

  BankTransactionCode:          Encoded $ref: '#/components/schemas/AEBankTransactionCodeStructure'
with allowable values:

      ProprietaryBankTransactionCode:      "Delegate" - Used for business $ref: '#/components/schemas/ProprietaryBankTransactionCodeStructure1'
  accounts when user has delegated
     Balance:       authority to access the $ref: '#/components/schemas/AETransactionCashBalance'account ,

       MerchantDetails:     "Joint" - Customer is a  $ref: '#/components/schemas/AEMerchantDetails1'
     joint owner of the account

 CreditorAgent:           $ref:"Sole" >- Customer is the sole owner of the account
     #/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1   accountRole:
     CreditorAccount:     type: string
    type: array     enum:
     items:       - UAEOF.Administrator
    $ref: '#/components/schemas/AECashAccount6_0'       - UAEOF.Beneficiary
DebtorAgent:           $ref: >- UAEOF.CustodianForMinor
           #/components/schemas/AEBranchAndFinancialInstitutionIdentification6_2
  - UAEOF.Granter
      DebtorAccount:      - UAEOF.LegalGuardian
   $ref: '#/components/schemas/AECashAccount6_1'        - CardInstrument:UAEOF.OtherParty
          $ref: '#/components/schemas/AETransactionCardInstrument'
   - UAEOF.PowerOfAttorney
     SupplementaryData:       - UAEOF.Principal
  $ref: '#/components/schemas/AESupplementaryData'         BillDetails:- UAEOF.Protector
         $ref: '#/components/schemas/BillDetails'  - UAEOF.RegisteredShareholderName
     GeoLocation:       - UAEOF.SecondaryOwner
  $ref: '#/components/schemas/AEGeoLocation'         PaymentPurposeCode:- UAEOF.SeniorManagingOfficial
         $ref: '#/components/schemas/AEPaymentPurposeCode'  - UAEOF.Settlor
   additionalProperties: false     AEAccountId:   - UAEOF.SuccessorOnDeath
  type: object       description: Specifies >-the Party's role with respect to the related account.
Unambiguous identification of the account to which credit andverifiedClaims:
debit         entries aretype: made.array
The following fields are optional only for accounts   items:
     that are switched:     $ref: '#/components/schemas/CbuaeVerifiedClaim'
     * Data.Currency    description: >-
       * Data.AccountType    Container object containing entries for the trust framework and *the
Data.AccountSubType          For all otherevidence accounts,used theto fields must be populated by verify the LFI.claims
      propertiesdescription: >
       AccountHolderName: Party Identity Assurance (Response) Schema

    $ref: '#/components/schemas/AccountHolderName'   Based on the [OpenID Connect for AccountHolderShortName:Identity Assurance 1.0
        $ref: '#/components/schemas/AccountHolderShortName'Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
      additionalProperties:  Status:false


    CbuaeVerifiedClaim:
   $ref: '#/components/schemas/AEAccountStatusCode'  description: |
     StatusUpdateDateTime:   Verified Claims :This is Required field for Cbuae
$ref: '#/components/schemas/StatusUpdateDateTime'       Container object Currency:containing entries for the trust framework and the evidence used to $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
 verify the customer claims
      AccountTypetype: "object"
      properties:
  $ref: '#/components/schemas/AEExternalAccountTypeCode'     verification:
   AccountSubType:       description: |
  $ref: '#/components/schemas/AEExternalAccountSubTypeCode'         Description:Verification
          $ref: '#/components/schemas/Description_0'type: "object"
          Nicknameproperties:
            $reftrustFramework:
'#/components/schemas/Nickname'         OpeningDate:     type: "string"
    $ref: '#/components/schemas/OpeningDate'         MaturityDateenum: [UAEOF.Undefined]
         $ref: '#/components/schemas/MaturityDate'    description: |
   AccountIdentifiers:           $ref: '#/components/schemas/AccountIdentifiers'
        Servicer: Identifies the trust framework used for customer verification.

          $ref: >- assuranceLevel:
           #/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0   type:  "string"
 additionalProperties: false     AEAccountArrayId:       typedescription: object|
      description: >-         UnambiguousDetermines identificationthe ofassurance thelevel accountassociated towith whichthe creditcustomer andin debitthe respective VerifiedClaims.
      entries are made. The following fields areassuranceProcess:
optional only for accounts         that are switchedtype: "object"
          * Data.Currency   description:  |
       * Data.AccountType        Determines the assurance process that *was Datafollowed.AccountSubType This reflects how the evidence meets the requirements of Forthe allTrustFramework otherand accounts,AssuranceLevel.
the fields must be populated by the LFI.       requiredproperties:
        - AccountId       propertiespolicy:
        AccountId:           $ref: '#/components/schemas/AccountId'type: "string"
         AccountHolderName:         description: "Representing $ref: '#/components/schemas/AccountHolderName'
    the standard or policy that was followed."
   AccountHolderShortName:           $ref: '#/components/schemas/AccountHolderShortName'
 procedure:
       Status:           $ref: '#/components/schemas/AEAccountStatusCode'
type: "string"
       StatusUpdateDateTime:           $ref: '#/components/schemas/StatusUpdateDateTime'
    description: "Representing a specific procedure from the policy that was followed."
   Currency:           $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
 assuranceDetails:
       AccountType:           $reftype: '#/components/schemas/AEExternalAccountTypeCode'"array"
        AccountSubType:           $refdescription: '#/components/schemas/AEExternalAccountSubTypeCode'
        Description:
"Denoting the details about how the evidence complies with the policy"
         $ref: '#/components/schemas/Description_0'         Nicknameitems:
          $ref: '#/components/schemas/Nickname'         OpeningDatetype: "object"
          $ref: '#/components/schemas/OpeningDate'         MaturityDateproperties:
          $ref: '#/components/schemas/MaturityDate'         AccountIdentifiers:  assuranceType:
        $ref: '#/components/schemas/AccountIdentifiers'         Servicer:      description: "String denoting which part $ref:of >-the assurance_process the evidence fulfils"
        #/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0       additionalProperties: false     AEPatchConsentSigned:   type: "string"
  allOf:         - $ref: '#/components/schemas/Jwt'         - typeassuranceClassification:
object           properties:             messagedescription: "String reflecting how the evidence has been classified or measured as required by  $ref: '#/components/schemas/AEPatchConsent'the TrustFramework"
             required:           type: "string"
- message           additionalProperties: false     AEPatchConsent:    evidenceRef:
  description: Patch Account Access Consent       type: object       properties:   description: "Evidence being referred to"
 Data:           type: object           descriptiontype: Primary"array"
data for the resource           required:           items:
 - Status           properties:             Statustype: "object"
             $ref: '#/components/schemas/PatchConsentStatus'             RevokedByproperties:
              $ref: '#/components/schemas/AERevokedBy'           additionalProperties: false txn:
       Subscription:           $ref: '#/components/schemas/EventNotification'       additionalProperties: false   description: "Identifier AEReadConsentResponse:referring to the txn used in the description: Account Access ConsentCheckDetails."
        type: object       required:         - Data    type: "string"
   - Links       properties:         Data:        evidenceMetadata:
  type: object           description: Primary data for the resource           requireddescription: "Object indicating any meta data about the evidence that is required by -the ConsentIdAssuranceProcess in order to demonstrate compliance with the TrustFramework. It has the following sub-elements"
BaseConsentId             - CreationDateTime             - Status  type: "object"
         - StatusUpdateDateTime             - Permissions      properties:
    properties:             ConsentId:               $refevidenceClassification:
'#/components/schemas/AEConsentId'             BaseConsentId:               $ref: '#/components/schemas/AEBaseConsentId'     type: "string"

     CreationDateTime:       time:
       $ref: '#/components/schemas/CreationDateTime'      type: "string"
     Status:               $ref: '#/components/schemas/ConsentStatus'format: "date-time"
              StatusUpdateDateTimedescription: |
             $ref: '#/components/schemas/StatusUpdateDateTime'  Representing the date and time when the identity verification process took Permissions:place. All dates in the JSON payloads are represented in ISO 8601 date-time format. All $ref: '#/components/schemas/AEConsentPermissions'
            ExpirationDateTime:date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00
            verificationProcess:
   description: >-          type: "string"
     Specified date and time the permissions will expire.  description: |
              If this isUnique notreference populated,to the permissionsidentity willverification beprocess openas ended.Allperformed by the OP.
            evidence:
dates in the JSON payloads are represented in ISO 8601 date-time    description: The type of evidence allowed for providing verification.
    format.          anyOf:
        All date-time fields in responses must include the timezone.- An
$ref: '#/components/schemas/AEPartyIdentityEvidenceTypeDocument'
               example is- below$ref: '#/components/schemas/AEPartyIdentityEvidenceTypeElectronicRecord'
        claims:
       2017-04-05T10:43:07+00:00   type: object
          typeproperties:
string            givenName:
  format: date-time           type:  TransactionFromDateTime:string
              description: >-
                SpecifiedGiven startname dateof andthe timeParty. forGiven the transaction query period.

 name (also called forename) is used
              If this isto notdifferentiate populated,from the startsurname dateor willfamily bename.
open ended, and          familyName:
      data will be returned from the earliest available type: string
              transaction.All dates indescription: Surname of the JSONParty
payloads are represented in         middleName:
       ISO 8601 date-time format.    type: string
             All date-time fields in responses must include the timezone. Andescription: Middle name of the Party
            nickname:
      example is below:      type: string
          2017-04-05T10:43:07+00:00    description: Nickname of the Party
      type: string     emiratesId:
         format: date-time    type: string
       TransactionToDateTime:       description: Emirates ID number of the Party
 description: >-          emiratesIdExpiryDate:
      Specified end date and time for the transaction querytype: period.string
              format: date
 If this is not populated, the end date will be open ended, and description: Emirates ID card expiry date
          data will bebirthDate:
returned to the latest available transaction.All         type: string
      dates in the JSON payloads are represented in ISOformat: 8601 date-time
              description: Date format.of birth of the Party
            sourceOfIncome:
 All date-time fields in responses must include the timezone. An    type: string
           example is belowsalary:
                 2017-04-05T10:43:07+00:00
type: string
             typenationality: string
              formattype: date-timestring
            AccountTyperesidentialAddress:
              type$ref: array'#/components/schemas/AEPartyIdentityAddressClaim'
              itemsmobileNumber:
                $reftype: '#/components/schemas/AEExternalAccountTypeCode'string
            AccountSubTypeemail:
              type: arraystring
              itemsmaritalStatus:
                $reftype: '#/components/schemas/AEExternalAccountSubTypeCode'string
            OnBehalfOfsalutation:
              $reftype: '#/components/schemas/OnBehalfOf'string
            Purposelanguage:
              type: arraystring
            employerName:
 items:             type: string
  $ref: '#/components/schemas/Purpose'         employmentSinceDate:
   RevokedBy:           type: string
  $ref: '#/components/schemas/AERevokedBy'           additionalPropertiesformat: date
false         Subscription:   powerofAttorney:
       $ref: '#/components/schemas/EventNotification'      type: boolean
 Links:           $refsalaryTransfer:
'#/components/schemas/LinksSelf'         Meta:     type: boolean
    $ref: '#/components/schemas/Meta'       additionalPropertiesprofession:
 false      AEConsentsByBaseConsentIdResponse:       type: arraystring
            itemsupdatedAt:
        $ref: '#/components/schemas/AEReadConsentResponse'     AEReadBalancetype: string
     description: List of Balances for an Account   format: time
  type: object       requireddescription: >
          - Data Standard Claims:

     - Links      [https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)

 - Meta       properties:   IdentityAssurance Claims:

   Data:           type: object[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)
           descriptionadditionalProperties: Primaryfalse
data
for the resource  AEPartyIdentityEvidenceTypeDocument:
      type: object
required:      properties:
      - AccountId type:
          type: - Balancestring
          propertiesenum:
            AccountId:- document
          description: The type $ref: '#/components/schemas/AccountId'
   of evidence allowed for providing verification.
        BalancecheckDetails:
   
          type: array
  
           items:
                $ref: '#/components/schemas/AEBalanceAEPartyIdentityCheckDetail'
              minItems: 1verifier:
          additionalProperties$ref: false'#/components/schemas/DocumentEvidenceVerifier'
        Linkstime:
          $ref: '#/components/schemas/LinksISODateTime'
        MetadocumentDetails:
          $ref: '#/components/schemas/MetaTotalPagesDocumentEvidenceDetails'
      additionalProperties: false     AEBalance:
      typeattachments:
object
      description: Set of elements used to define the balance details.
      required:
        - CreditDebitIndicator
        - Type
        - DateTime
        - Amount    type: object
 properties:         CreditDebitIndicatorrequired:
          $ref: '#/components/schemas/AECreditDebitCode_2'
  - AEPartyIdentityEvidenceAttachments
      Type:    properties:
      $ref: '#/components/schemas/AEBalanceTypeCode'     AEPartyIdentityEvidenceAttachments:
   DateTime:           descriptiontype: >-array
            Indicates the dateitems:
(and time) that the account balance was          $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
 checked.All dates in the JSON payloads are represented in ISO 8601   description: >
        date-time format. All date-time fields in responses must includeAttachment
the          additionalProperties: false

timezone. An example is belowAEPartyIdentityEvidenceTypeElectronicRecord:
2017-04-05T10:43:07+00:00      type: object
   type: string  properties:
        formattype:
date-time          Amounttype: string
         type enum:
  object          - required:electronic_record
          description: The -type Amountof evidence allowed for providing verification.
       - CurrencycheckDetails:
          descriptiontype: Amountarray
of money of the cash balance.     items:
     properties:       $ref: '#/components/schemas/AEPartyIdentityCheckDetail'
    Amount:    time:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleTypeISODateTime'
            Currency:
   record:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1ElectronicRecordProperties'
        attachments:
 additionalProperties: false         type: object
          CreditLinerequired:
          type: array  - AEPartyIdentityEvidenceAttachments
          itemsproperties:
            typeAEPartyIdentityEvidenceAttachments:
 object             description: Set of elements used to provide details on the credit line.type: array
              items:
                required$ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
             - Includeddescription: >
             - Type  Attachments
      description: >
    - Amount   Electronic Record Evidence

      propertiesadditionalProperties: false

    AEPartyIdentityCheckDetail:
       Includedtype: object
      properties:
        descriptioncheckMethod:
  >-        type: string
         Boolean flagdescription: to>
Indicate whether or not a credit line is     Identifes the method used by PASP for checking the evidence for
   included in the balance of the account. Usage: If notverification
present,
            String representing the check done, this creditincludes lineprocesses issuch notas
included in the balance amount of the      checking the authenticity of the document, or verifying the user's
   account.         biometric against an identity document.
   type: boolean    organization:
          Typetype: string
          description: >
    description: >-       String denoting the legal entity that performed the check. This
  Type of credit line provided to the account. Encoded with SHOULD be included if the OP did not perform the check itself
      allowable values oftxn:
Available, Credit, Emergency, Pre-Agreed,       type: string
          Temporary. Notedescription: LFIs>
support different types of credit lines       Identifier referring to the identity verification transaction. The
    on accounts, so this list is used to supportOP differentMUST LFIensure that this is present when EvidenceRef element is
          systmes in UAE.
      used. The OP MUST ensure that the transaction identifier can be
         type: string  resolved into transaction details during an audit
        enumtime:
          $ref: '#/components/schemas/ISODateTime'
      - UAEOF.Availabledescription: >
        Identifes the method used by PASP for checking the evidence -for
UAEOF.Credit        verification.

        Representing -the UAEOF.Emergencychecks done in relation to the evidence
      additionalProperties: false

   - UAEOF.Pre-Agreed DocumentEvidenceVerifier:
      type: object
      properties:
   - UAEOF.Temporary    organization:
          Amounttype: string
          description: >-
   type: object        String denoting the organization which performed the verification on
required:            behalf of the OP.
   - Amount    txn:
          type: string
  - Currency       description: >-
        description: Amount of money ofIdentifier thereferring creditto line.the identity verification transaction.
      description: >-
     properties:   Denoting the legal entity that performed the identity verification.
       AmountadditionalProperties: false

    DocumentEvidenceDetails:
      type: object
      $refproperties:
'#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'        type:
          Currencytype: string
          enum:
        $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'   - passport
            additionalProperties: false- driving_permit
            additionalProperties:- falseidcard
      additionalProperties: false     AEReadScheduledPayment:- residence_permit
     description: List of Scheduled Payments fordescription: an>
Account       type: object    The type of required:document used for evidence checking
    - Data   documentNumber:
     - Links    type: string
   - Meta       propertiesdescription: The unique id number in the evidence used Data:for verification checking
        typepersonalNumber:
object           descriptiontype: Primary data for the resourcestring
           requireddescription: >
           - AccountIdAn identifier that is assigned to the End-User and is not limited to
- ScheduledPayment           properties:being used in one document, for example a national identification
   AccountId:         number, personal identity number, citizen number, $ref: '#/components/schemas/AccountId'social security
            ScheduledPayment:number, driver number, account number, customer number, licensee
       type: array    number, etc
         itemsserialNumber:
          type: string
    $ref: '#/components/schemas/AEScheduledPayment'     description: >
    additionalProperties: false       An identifier/number Links:that identifies the document irrespective of
     $ref: '#/components/schemas/Links'      any personalization information Meta:(this usually only applies to
      $ref: '#/components/schemas/MetaTotalPages'     physical artifacts additionalProperties:and falseis present before personalization).
 AEScheduledPayment:       descriptioncalendarType: Scheduled Payments
for a specific AccountId       type: objectstring
      required:    enum:
    - ScheduledPaymentId
        - ScheduledPaymentDateTimeIslamicCalendar
        - ScheduledType   - GregorianCalendar
    - InstructedAmount       propertiesdescription: >
       ScheduledPaymentId:     The type of calendar used for $ref: '#/components/schemas/ScheduledPaymentId'
        AccountHolderName:the date of issuance and date of expiry in
            $ref: '#/components/schemas/AccountHolderName'
the document evidence

      AccountHolderShortName:      Allowable values:

  $ref: '#/components/schemas/AccountHolderShortName'         ScheduledType:"Islamic Calendar"

         $ref: '#/components/schemas/AEExternalScheduleTypeCode'  "Gregorian Calendar"

    ScheduledPaymentDateTime:        Both calendars must $ref: '#/components/schemas/ScheduledPaymentDateTime'follow YYYY-MM-DD
        CreditorReferencedateOfIssuance:
          $ref: '#/components/schemas/ReferenceISODateTime'
        DebtorReferencedateOfExpiry:
          $ref: '#/components/schemas/DebtorReferenceISODateTime'
        InstructedAmountissuer:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_1DocumentEvidenceDetailsIssuer'
        CreditorAgentdescription: 'Representing the document used to perform the identity verification. '
$ref: >-     additionalProperties: false

     #/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1DocumentEvidenceDetailsIssuer:
        CreditorAccounttype: object
         typeproperties:
array        name:
  items:        type: string
   $ref: '#/components/schemas/AECashAccount5_0'       additionalPropertiesdescription: false|
    TerminalId:       description: IDDesignation of the Terminalissuer ifof the transactiondocument.
was initiated from a retail POS    address:
  type: integer       minLength$ref: 8
 '#/components/schemas/AEPartyIdentityAddressClaim'
    maxLength: 20     BillDetailscountryCode:
      description: Bill Details
      type: object

     properties:     required:
   BillerId:
          description: >- CountryCode
          properties:
This should be 'BillerCode' as per SP-SADAD specifications. It is a  CountryCode:
          unique biller identifier within SADADtype: thatstring
could be used by the             end-user to refer to a specific SADAD biller (e.g. STC biller codepattern: ^[A-Z]{2,2}$
              description: isNation 001,with waterits servicesown billergovernment, codeoccupying isa 015,particular etcterritory.)
          typeadditionalProperties: numberfalse
        BillNumberjurisdiction:
          descriptiontype: Uniquestring
bill identifier within the account.      description: >
   type: string        String BillPaymentType:containing the name of the
      description: >     region(s)/state(s)/province(s)/municipality(ies) that issuer has
    Indicates whether the bill could be a One-off payment,jurisdiction Recurringover (if this information is not common knowledge or
    payment, Postpaid, Pre-paid, etc. Example values:   derivable from the address)
      description: - "UAEOF.Post-Paid"

    Containing information about the issuer of this document.
      additionalProperties: -false
"UAEOF.AdvancePaymentForRoaming"
    AEPartyIdentityAddressClaim:
      type: object
- "UAEOF.Recharge"     properties:
        - "UAEOF.Renewal"formatted:
          type: string
  - "UAEOF.RoamingDeposit"       description: |
     - "UAEOF.One-Off"      The address number and street claim that has -been "UAEOFverified.RecurringPayment"
          typestreetAddress:
string           x-namespaced-enumtype: string
          description: -|
UAEOF.Post-Paid            The -address UAEOF.AdvancePaymentForRoamingstreet claim that has          - UAEOF.Rechargebeen verified.
        locality:
   - UAEOF.Renewal      type:    string
  - UAEOF.RoamingDeposit       description: >
    - UAEOF.One-Off       The address locality (village, town, city - UAEOF.RecurringPayment
  etc) claim that has been
   additionalProperties: false     ConsentStatus:   verified.
   description: Specifies the status of consentregion:
resource in code form.       type: string
      enum:    description: |
   - Authorized        The -address AwaitingAuthorizationregion claim that has been verified.
   - Rejected    postalCode:
    - Revoked     type: object
  - Expired         - Suspendedrequired:
    PatchConsentStatus:       description: >- PostalCode
       The Revoked status mustproperties:
only be set if the current Consent Status is set   PostalCode:
     to either Authorized or AwaitingAuthorization       type: string
      enum:         - Revoked
    AERevokedByminLength: 5
     description: |        maxLength: Denotes5
the Identifier of the revocation.          | Identifier| Description|description: >-
         |-----------|------------|       Identifier consisting |of LFIa |group Revokedof byletters LFIand/or withoutnumbers Userthat initiation|is
        | TPP | Revoked by TPP without User initiation|added to a postal address to assist the sorting |of LFImail.InitiatedByUser
 | Initiated by User via the LFI|   additionalProperties: false
    | TPP.InitiatedByUser | Initiated bycountry:
User via the TPP|       type: stringobject
      enum:    properties:
    - UAEOF.LFI         - UAEOF.TPPCountryCode:
        - UAEOF.LFI.InitiatedByUser     type: string
  - UAEOF.TPP.InitiatedByUser     AERevokedByPatchConsent:       descriptionpattern: |^[A-Z]{2,2}$
        Denotes the Identifier of the revocation. description: Nation with its own government, occupying a particular |territory.
Identifier| Description|         |-----------|------------|
additionalProperties: false
      description: |>
TPP | Revoked by TPP without User initiation| Address object as per OpenID Connect Core  | TPP.InitiatedByUser | Initiated by User via the TPP|1.0 Address Claim

          type: string[https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
       enumadditionalProperties: false

    AEPartyIdentityEvidenceAttachment:
 - UAEOF.TPP    type: object
   - UAEOF.TPP.InitiatedByUser  properties:
  AEIsIslamic:       typedesc:
boolean       description: |  type: string
     A flag to denote if thedescription: Product>
is an Islamic product       default: false Description of the document. AEGeoLocation:This can be the filename or just description:an
>-         Estimated latitude and longitudeexplanation coordinates,of inthe degreescontent.
Contains   one     contentType:
   latitude and one longitude subfield.   type: string
  type: object       requireddescription: |
       - Latitude    Content (MIME) type of the document
- Longitude       propertiescontent:
        Latitude  type: string
          description: Latitude in degrees|
            Base64 encoded representation of the type:document stringcontent
        Longitudetxn:
          descriptiontype: Longitudestring
in degrees         description: |
type: string       additionalProperties: false   Identifier referring AEAccountAccessAuthorizationDetail:to the transaction
    description: The schemaadditionalProperties: forfalse
account
access object in the authorization_detailsElectronicRecordProperties:
      type: object
      required:
        - typeType
        - consentPersonalNumber
      properties:  - CalendarType
     type:   - CreatedAt
      type: string - DateOfExpiry
        description:- TheSource
type of the account access object  properties:
        enumtype:
          type: string
- urn:openfinanceuae:account-access-consent:v1.0-rc1         consentenum:
          type: object - bank_account
        description: Primary data for the- resourcemortgage_account
          required:  - loan_account
         - ConsentIddescription: >
           - PermissionsString denoting the type of electronic record
    properties:    personalNumber:
        ConsentId:  type: string
           $refdescription: '#/components/schemas/AEConsentId'>
            BaseConsentId:String representing an identifier that is assigned to the customer and
    $ref: '#/components/schemas/AEBaseConsentId'       is not limited to being used Permissions:in one record, for example a national
        $ref: '#/components/schemas/AEConsentPermissions'   identification number, personal identity number, citizen number,
   ExpirationDateTime:         social      description: >-
   security number, driver number, account number, customer
            Specifiednumber, datelicensee andnumber, timeetc.
the permissions will expire.     calendarType:
          type: string
If this is not populated, the permissions will be open ended.Allenum:
            - IslamicCalendar
  dates in the JSON payloads are represented in ISO 8601 date-time GregorianCalendar
          description: >
   format.         The type of calendar used for the date of issuance Alland date-time of fieldsexpiry in
responses  must include the timezone. An      the document evidence

       example is below:   Allowable values:

            2017-04-05T10:43:07+00:00
"Islamic Calendar"

            type: string"Gregorian Calendar"

            Both format: date-time
 calendars must follow YYYY-MM-DD
        createdAt:
 TransactionFromDateTime:         $ref: '#/components/schemas/ISODateTime'
    description: >-   dateOfExpiry:
          $ref: '#/components/schemas/ISODateTime'
 Specified start date and time for the transactionsource:
query period.         $ref: '#/components/schemas/ElectronicRecordSourceProperties'
      description: If|
this is not populated, the start date will beRepresenting openthe ended,record andused to perform the identity verification.
      additionalProperties: false

  data will beElectronicRecordSourceProperties:
returned from the earliest available  type: object
      properties:
      transaction.All dates inname:
the JSON payloads are represented in     type: string
          ISOdescription: 8601|
date-time format.           Designation of the source of the electronic_record
 All date-time fields in responses must include theaddress:
timezone. An         $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
      example is belowcountryCode:
          type: object
        2017-04-05T10:43:07+00:00  properties:
            typeCountryCode:
string              type: format: date-timestring
              TransactionToDateTime:pattern: ^[A-Z]{2,2}$
              description: >-
  Nation with its own government, occupying a particular territory.
          additionalProperties: false
 Specified end date and time for the transactionjurisdiction:
query period.         type: string
       If this is notdescription: populated,>
the end date will be open ended, and     String containing the name of the region(s) / state(s) / province(s)
 data will be returned to the latest available transaction.All   / municipality(ies) that source has jurisdiction over (if it's not
    dates in the JSON payloads are represented in ISOcommon 8601knowledge date-timeor derivable from the address)
      description: |
    format.    Information about the source of this record
      additionalProperties: false
All
date-time fields in responses mustISODateTime:
include the timezone. An   title: "ISODateTime"
      description: "All dates in the JSON examplepayloads isare below:represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is 2017below:\n2017-04-05T10:43:07+00:00"
              type: "string
  "
           format: "date-time"


    ProductIdentifier:
      AccountTypetype: object
       properties:
     type: array  id:
            itemstype: string
        productName:
      $ref: '#/components/schemas/AEExternalAccountTypeCode'   type: string
        AccountSubTypebundleName:
          description: Optional field to type:indicate arrayif this account is part of a bundle that is providing additional benefit for to items:the customer
          type: string
   $ref: '#/components/schemas/AEExternalAccountSubTypeCode'  required:
        - productName
OnBehalfOf:
    CustomerIdentifier:
      type: object
 $ref: '#/components/schemas/OnBehalfOf'    properties:
        Purposeid:
   
          type: arraystring
        customerName:
     items:     type: string
          $refrequired:
'#/components/schemas/Purpose'        - id
 additionalProperties: false      - customerName

Subscription:    #
    # Schemas $ref: '#/components/schemas/EventNotification'
related to Balances
    #
additionalProperties:
false     AEReadConsentSignedBalancesResponse:
      allOftype: object
       - $ref: '#/components/schemas/Jwt'properties:
        - typedata: object
          propertiestype: array
           messageitems:
              $ref: '"#/components/schemas/AEReadConsent'CbuaeBalance"
          requiredmeta:
            - message
    $ref: "#/components/schemas/Meta"

    additionalPropertiesCbuaeBalanceType:
false      AEReadConsenttype: string
      descriptionenum: List of
Standing Orders for an Account    - UAEOF.ClosingAvailable
 type: object      - required:UAEOF.ClosingBooked
        - DataUAEOF.ClosingCleared
        - LinksUAEOF.Expected
        - MetaUAEOF.ForwardAvailable
       properties: - UAEOF.Information
      Data:  - UAEOF.InterimAvailable
       type: object- UAEOF.InterimBooked
        - description:UAEOF.InterimCleared
Primary data for the resource    - UAEOF.OpeningAvailable
     required:   - UAEOF.OpeningBooked
        - AccountIdUAEOF.OpeningCleared
        - UAEOF.PreviouslyClosedBooked

 - Consent  CbuaeBalance:
        propertiestype: object
      properties:
    AccountId:    accountId:
          $refdescription: '#/components/schemas/AccountId'
            Consent:
         "A unique and immutable identifier produced by the financial institution to identify the account resource.This identifier has no meaning to the account owner (User 1)."
    type: array     type: string
        itemscreditDebitIndicator:
          description: "Indicates whether the balance of the type:account objectis a credit or a debit balance."
          additionalPropertiestype: falsestring
          enum:
     oneOf:       - UAEOF.Credit
            - $ref: '#/components/schemas/AEAccountAccessAuthorizationDetail' UAEOF.Debit
        balanceType:
          discriminator:$ref: "#/components/schemas/CbuaeBalanceType"

        timestamp:
          propertyNamedescription: type"Indicates the date (and time) that the account balance was checked"
additionalProperties: false         Linkstype: string
          $refformat: '#/components/schemas/Links'"date-time"
        Metaamount:
          $ref: '"#/components/schemas/MetaTotalPages'OBActiveOrHistoricCurrencyAndAmount_8"
      additionalProperties: false creditLines:
   AEConsent:       descriptiontype: Consentsarray
for a specific AccountId       typeitems:
  object       required:   $ref: "#/components/schemas/CbuaeCreditLine"
    - ConsentId required:
     properties:   - accountId
    ConsentId:    - balanceType
     $ref: '#/components/schemas/AEConsentId'  - amount

    BaseConsentIdCbuaeCreditLine:
      description: Set of elements $ref: '#/components/schemas/AEBaseConsentId'
      additionalProperties: falseused to provide details on the credit line.
      AEConsentIdrequired:
      description: > - included
      Unique identification assigned- bycreditType
the TPP to identify the consent   - amount
    resource.  properties:
    type: string    included:
  minLength: 1       maxLengthdescription: 128"Boolean flag to Indicate whether or not a example: aac-69255d98-ab0e-4758-92a7-cacbf3073efa
    AEBaseConsentId:
  credit line is included in the balance of the account."
   description: >      type: boolean
 The original ConsentId assigned by the TPP. creditType:
        It is useddescription: by"Type theof TPPcredit forline updating/renewingprovided parametersto associatedthe withaccount."
        long-lived consents. type: string
       It must be providedenum:
when long-lived consent parameters are         updated/renewed for a current consent that has not yet finished.- UAEOF.Available
            - UAEOF.Credit
 type: string       minLength: 1  - UAEOF.Emergency
   maxLength: 128       example: abc-19877d98-ab0e-4758-92a7-vvffr1234abv UAEOF.Pre-Agreed
    AEPaymentPurposeCode:       description: >- UAEOF.Temporary
       A Categoryamount:
code, related to the type of services or goods that $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"

    #
corresponds to the underlying purpose# ofSchemas therelated Payment.to Transactions
    #

  * The ISO20022 External code sets
TransactionsResponse:
      type: stringobject
      minLengthproperties:
1        maxLengthdata:
4       pattern: ^[A-Z]{4}$  type: array
 AEDuration:       description: | items:
       The period of time for which the credit line is available.$ref: "#/components/schemas/CbuaeTransaction"
        meta:
  Formatted according to ISO 8601 Durations (excludes recurrence syntax)
$ref: "#/components/schemas/PaginatedMeta"

    typeCbuaeTransaction: string
      minLengthtype: 1object
      maxLengthproperties:
40        pattern: ^P(?=\d)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?$accountId:
     AECharge:
      description: |"A unique and immutable identifier produced by the financial Feesinstitution and charges applicable toto identify the account resource"
     type: array    type: string
 items:        transactionId:
type: object         requireddescription: "Unique identifier for the transaction within     - Name
an servicing institution."
         - ChargeTypetype: string
        transactionDateTime:
- Amount         properties$ref: "#/components/schemas/TransactionDateTime"
        localTimeZone:
Name:          $ref: "#/components/schemas/LocalTimeZone"
 type: string      statementReference:
      description: |   description: "Unique reference for the statement."
      Name of the charge type: array
          minLengthitems: 1
            maxLengthtype: 40string
          ChargeTypetransactionReference:
          description: "Unique type:reference stringfor the transaction."
          descriptiontype: |string
        transactionType:
     Type of the charge  description: "The type of transaction"
      minLength: 1   type: string
          maxLengthenum:
 10           Amount:- UAEOF.POS
           $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
 - UAEOF.ECommerce
         Frequency:   - UAEOF.ATM
        $ref: '#/components/schemas/AEDuration'   - UAEOF.BillPayments
      Notes:      - UAEOF.LocalBankTransfer
     type: string      - UAEOF.SameBankTransfer
     description: |      - UAEOF.InternationalTransfer
       Notes providing more information on the- chargeUAEOF.Teller
            minLength: 1- UAEOF.Cheque
            maxLength: 500- UAEOF.Other
        additionalPropertiessubTransactionType:
false
    AELendingRate:       description: |"The sub-type of a transaction"
    Lending rates for this account  type:  string
  type: array       itemsenum:
        type: object   - UAEOF.Purchase
    required:        -  UAEOF.Reversal
- LendingRateType           - RateUAEOF.Refund
        properties:           LendingRateType:- UAEOF.Withdrawal
            - type:UAEOF.WithdrawalReversal
string            - minLength:UAEOF.Deposit
1            - maxLength:UAEOF.DepositReversal
10           Rate: - UAEOF.MoneyTransfer
          $ref: '#/components/schemas/AERate'
  - UAEOF.NotApplicable
        AmountterminalId:
 
          $ref: '"#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'TerminalId"
          CalculationFrequencyflags:
            $ref: '#/components/schemas/AEDuration'type: "array"
          ApplicationFrequencyitems:
            $ref: '"#/components/schemas/AEDuration'CbuaeFlags"
          RepaymentTypepaymentModes:
          description: "The type:mode stringof payment"
           descriptiontype: |string
          enum:
   Options in place for repayments     - UAEOF.Online
      minLength: 1     - UAEOF.Offline
      maxLength: 40     - UAEOF.Batch
    Notes:    creditDebitIndicator:
        type: string description: "Indicates whether the transaction is a credit or a debit entry."
description: |         type: "string"
    Notes providing more information on the rate.enum:
            minLength: 1- UAEOF.Credit
            maxLength: 500- UAEOF.Debit
        additionalPropertiesstatus: false
    AEDepositRate:       description: |"Status of a transaction entry on the books of the Depositaccount servicer."
rates for this account       type: arraystring
       items:   enum:
     type: object      - UAEOF.Booked
 required:           - DepositRateTypeUAEOF.Pending
            - RateUAEOF.Rejected
        propertiestransactionMutability:
          DepositRateTypedescription: "Specifies the Mutability of the Transaction record."
          type: string
            minLengthenum: 1
            maxLength: 10- UAEOF.Mutable
          Rate:  - UAEOF.Immutable
        bookingDateTime:
$ref: '#/components/schemas/AERate'         description: "Date CalculationFrequency:and time when a transaction entry is posted to an account on the $ref:account '#/components/schemas/AEDuration'servicer's books."
          ApplicationFrequencytype: string
           $refformat: '#/components/schemas/AEDuration'date-time
          RepaymentTypevalueDateTime:
            typedescription: string"Date and time at which assets become available to the account owner in description:case |of a credit entry, or cease to be available to the account owner in case Optionsof ina placedebit fortransaction repaymentsentry."
            minLengthtype: 1string
          format: date-time
maxLength: 40       transactionInformation:
   Notes:       description: "Further details of the transaction."
type: string         type: string
  description: |     amount:
         Notes providing more information on the rate.$ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
        chargeAmount:
       minLength: 1  $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6"
        chargeAmountVat:
maxLength: 500         additionalProperties$ref: false"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
    AERate:    currencyExchange:
  description: >       $ref:  A string representing a percentage (e.g. an interest rate)."#/components/schemas/CurrencyExchange"
        bankTransactionCode:
          A rate of 100% would be represented by the value 1.0 and a rate of -100%$ref: "#/components/schemas/AEBankTransactionCodeStructure"
        proprietoryBankTransactionCode:
          $ref: "#/components/schemas/ProprietoryBankTransactionCode"
 by -1.0      balance:
   - At least 1 and up to atype: totalobject
of 16 significant digits before decimal     properties:
   point         creditDebitIndicator:
- Up to 16 digits following the decimal point      description: "Indicates whether the -balance Noof formatting,the egaccount thousandis separatinga commascredit or a debit balance"
  type: string       minLength: 1   type: string
  maxLength: 18     AEErrorCode:       typeenum:
string       enum:         - UAEOF.AccessToken.Unauthorized
 Credit
      - UAEOF.AccessToken.InvalidScope         - UAEOF.Consent.RevokedDebit
          - UAEOF.Consent.TransientAccountAccessFailure balanceType:
       - UAEOF.Consent.AccountTemporarilyBlocked      $ref: "#/components/schemas/CbuaeBalanceType"

- UAEOF.Consent.PermanentAccountAccessFailure         - UAEOF.Consent.Invalid amount:
       - UAEOF.JWS.InvalidSignature      $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
 - UAEOF.JWS.Malformed      merchantDetails:
  - UAEOF.JWS.InvalidClaim       $ref:  - UAEOF.JWS.InvalidHeader"#/components/schemas/MerchantDetails"
        creditorAgent:
 - UAEOF.GenericRecoverableError         - UAEOF.GenericError$ref: "#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1"
        creditorAccount:
- UAEOF.JWE.DecryptionError         - UAEOF.JWE.InvalidHeadertype: array
        - UAEOF.Event.UnexpectedEvent items:
       - UAEOF.Body.InvalidFormat    $ref: '#/components/schemas/AECashAccount6_0'
   - UAEOF.Resource.InvalidResourceId    debtorAgent:
    - UAEOF.Resource.InvalidFormat     $ref: "#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1"
  - UAEOF.Consent.BusinessRuleViolation     AEErrorSignedResponsedebtorAccount:
      type: object   $ref: '#/components/schemas/AECashAccount6_0'
  required:      cardInstrument:
  -  iss      $ref: "#/components/schemas/AETransactionCardInstrument"
 - exp      supplementaryData:
  - nbf       type: object
- message       propertiesgeoLocation:
        iss  $ref: "#/components/schemas/AEGeoLocation"
         typebillDetails: string
          description$ref: >-"#/components/schemas/BillDetails"

    CbuaeFlags:
      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
title: "Flags"
       expdescription: "The flag of a transaction"
      type: number"string"
      enum:
   description: >-    - "UAEOF.Cashback"
        [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)- "UAEOF.Payroll"
         nbf:- "UAEOF.DirectDebit"
        - "UAEOF.StandingOrder"
type: number       - "UAEOF.Loan"
  description: >-     - "UAEOF.Dividend"

     [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)AEBankTransactionCodeStructure:
        audtype: object
      description: >
 type: array      BankTransactionCode is mandatory (with code items:specifying the Domain,
        Family and type:SubFamily stringas per External Codes ISO20022) when the
    description: >-   ProprietaryBankTransactionCode is absent.
       [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)properties:
        iatdomain:
          typedescription: numberSpecifies the Domain
        description: >- type: string
          [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)domainCode:
          messagedescription: Specifies the Domain Code.
      $ref: '#/components/schemas/AEErrorResponse'   type: string
  description: Signed error response payload  family:
    additionalProperties: false     AEExternalAccountRoleCodedescription: Specifies the  Family
  type: string       enumtype: string
       - UAEOF.Administrator familyCode:
         - UAEOF.Beneficiarydescription: Specifies the Family Code
    - UAEOF.CustodianForMinor     type: string
  - UAEOF.Granter     subFamily:
   - UAEOF.LegalGuardian      description: Specifies the Sub-Family
UAEOF.OtherParty         - UAEOF.PowerOfAttorneytype: string
       - UAEOF.PrincipalsubFamilyCode:
        - UAEOF.Protector description: Specifies the Sub-family Code
   - UAEOF.RegisteredShareholderName      type: string
 - UAEOF.SecondaryOwner    additionalProperties: false

  - UAEOF.SeniorManagingOfficial
 AEBranchAndFinancialInstitutionIdentification6_1:
      type: -object
UAEOF.Settlor      description: >
 -  UAEOF.SuccessorOnDeath     Financial institution description:servicing Specifiesan theaccount Party'sfor rolethe withcreditor respectin tocase the relatedtransaction account.is a Debit transaction or AEExternalPartyTypeCode:Financial institution servicing an account for the type:Debtor stringin case the transaction is a Credit enum:transaction.
      properties:
 - UAEOF.Delegate      schemeName:
  - UAEOF.Joint       $ref: >-
- UAEOF.Sole       description: >   #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
     Specifies the party type.identification:
         Encoded with allowable values:$ref: '#/components/schemas/Identification_1'
        name:
  "Delegate" - Used for business accounts when user has delegated$ref: '#/components/schemas/Name_1'
        authoritypostalAddress:
to access the account ,      $ref: '#/components/schemas/AEPostalAddress6'
   "Joint" - Party isadditionalProperties: afalse
joint
owner of the account Name_1:
      description: >
 "Sole" - Party is the sole owner of* theBeneficiary
account
    AEPartyCalendarType:    Name by which type:an stringagent is known and which is usually enum:used to identify
      - IslamicCalendar that agent


    - GregorianCalendar   * Creditor agent

description: >       Name by Thewhich typethe of calendar used forFinancial institution(FI) which is the datecreditor ofis
issuance and date of expiry in   known and which is usually used theto documentidentify evidencethat FI.


      Allowable values: * DebtorAgent

      "Islamic Calendar" Name by which an financial institution of the debtor "Gregorianis Calendar"known and which
       Both calendarsis mustusually follow YYYY-MM-DD
    AEPartyIdentityAddressClaim:used to identify that financial institution.
      type: objectstring
      requiredminLength: 1
      maxLength: -140

 Formatted   AEPostalAddress6:
     - StreetAddresstype: object
      description: >-
Locality        Postal -Address specifies RegionInformation that locate and identify a specific
  - PostalCode     address, as defined by -postal Countryservices.
      properties:
        FormattedaddressType:
          typedescription: stringPostal Address type specifies the the nature of the postal address.
  description: |       type: string
    The address number and street claim thatenum:
has been verified.         StreetAddress: - UAEOF.Business
        type: string   - UAEOF.Correspondence
      description: |     - UAEOF.DeliveryTo
      The address street claim that has been- verifiedUAEOF.MailTo
           Locality: - UAEOF.POBox
        type: string   - UAEOF.Postal
      description: >     - UAEOF.Residential
      The address locality (village, town, city etc) claim that has been- UAEOF.Statement
        shortAddress:
      verified.    description: 8 character Unique alphanumeric Region:Code.
          type: string
          descriptionminLength: |1
          maxLength: 8
The    address region claim that hasbuildingNumber:
been verified.         PostalCodedescription: Number that identifies the position of a building on a street.
$ref: '#/components/schemas/PostalCode'         Countrytype: string
         $ref minLength: '#/components/schemas/CountryCode'4
      description: >   maxLength: 4
    Address object as per OpenID Connect Core 1.0 Address Claim unitNumber:
          description:  [https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
      additionalProperties: false
This is the unit number of the business premises or dwelling
   AEPartyIdentityAssurance:       type: objectstring
      required:  streetName:
      - PartyId   description: Name of a street or -thoroughfare.
PartyType         - AccountRoletype: string
       - VerifiedClaimssecondaryNumber:
      properties:    description: Secondary Number, if required
PartyId:           type: string
          minLength: 14
          maxLength: 40 4
        district:
          description: >- Identifies the District of a City
          type: string
A unique and immutable identifier used to identify thepostCode:
customer          description: >-
 resource. This identifier has no meaning to the account owner.  Identifier consisting of a group of letters PartyNumber:and/or numbers that is added
      type: string     to a postal address to assist minLength:the 1sorting of mail.
        maxLength: 35 type: string
        descriptiontownName:
Number assigned by an agent to identify its customer.  description: Identifies the City of a Country
PartyType:           $reftype: '#/components/schemas/AEExternalPartyTypeCode'string
        AccountRolecountry:
          $refdescription: '#/components/schemas/AEExternalAccountRoleCode'
        VerifiedClaims:Identifies a county either by full name or country code
          type: arraystring
          items:pattern: ^[A-Z]{2,2}$

    AECashAccount6_0:
      $reftype: '#/components/schemas/VerifiedClaim'object
      description: >
      description: >- Creditor account details available in case the transaction is a Debit
 Container object containing entries for the trust frameworktransaction.
and the     properties:
       evidence usedschemeName:
to verify the claims       description$ref: >'#/components/schemas/AEExternalAccountIdentificationCode'
        Partyidentification:
Identity Assurance (Response) Schema       $ref: '#/components/schemas/Identification_0'
  Based on the [OpenID Connect for Identityname:
Assurance 1.0         Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)$ref: '#/components/schemas/Name_0'
      additionalProperties: false

    AEPartyIdentityCheckDetailAETransactionCardInstrument:
      type: object
      propertiesrequired:
        CheckMethod:- cardSchemeName
         type: string
   - instrumentType
      description: >Set of elements to describe the card instrument used in the transaction.
 Identifes the method used by PASPproperties:
for checking the evidence for    cardSchemeName:
        verification  description: Name of the card scheme.
      String  representing the checktype: done,string
this includes processes such as      enum:
      checking the authenticity of the document, or- verifyingUAEOF.AmericanExpress
the user's           - UAEOF.Diners
biometric against an identity document.        - Organization:UAEOF.Discover
          type: string - UAEOF.GCC
        description: >   - UAEOF.MasterCard
        String denoting the legal entity- thatUAEOF.UPI
performed the check. This         - UAEOF.VISA
  SHOULD be included if the OP did not perform the check- itselfUAEOF.mada
        TxninstrumentType:
          typedescription: stringThe card instrument type.
       description: >  type: string
         Identifier referringenum:
to the identity verification transaction. The       - UAEOF.ApplePay
    OP MUST ensure that this is present when EvidenceRef- elementUAEOF.madaPay
is            - usedUAEOF.Contactless
The OP MUST ensure that the transaction identifier can be   - UAEOF.MagStripe
        resolved into transaction details during- anUAEOF.Chip
audit         Time:           $ref: '#/components/schemas/ISODateTime'- UAEOF.Other
        descriptionname:
>         Identifes thedescription: methodName usedof bythe PASPcardholder forusing checking the evidencecard forinstrument.
        verification.  type: string
      Representing the checks done inminLength: relation1
to the evidence        maxLength: 70
OpenID Connect for Identity Assurance 1.0:   identification:
     [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element)     description: >-
            Identification assigned by an additionalProperties:institution falseto identify the card
 AEPartyIdentityEvidenceAttachment:       type: object   instrument used in the required:transaction. This identification is known by
   - Desc        the -account ContentTypeowner, and MUST be masked.
    - Content     type: string
  - Txn       propertiesminLength: 1
       Desc:   maxLength: 16
      type: string   example: 1234********4321
      descriptionadditionalProperties: >false

    AEGeoLocation:
      Descriptiondescription: of>-
the document. This can be the filename or justEstimated anlatitude and longitude coordinates, in degrees. Contains one
     explanation of the content.latitude and one longitude subfield.
    ContentType:  type: object
       typerequired:
string        - latitude
 description: |      - longitude
     Content (MIME) type of the document properties:
        latitude:
          description: Latitude in Content:degrees
          type: string
          descriptionlongitude:
|          description: Longitude in Base64degrees
encoded representation of the document content     type: string
  Txn:    additionalProperties: false

    typeMerchantDetails:
string      type: object
   description: |  properties:
          IdentifiermerchantId:
referring to the transaction       additionalPropertiesdescription: falseMerchant Id
   AEPartyIdentityEvidenceAttachments:       type: objectstring
      required:  merchantName:
      - AEPartyIdentityEvidenceAttachments       propertiesdescription: Name by which the merchant is  known.
AEPartyIdentityEvidenceAttachments:           type: arraystring
          itemsmerchantCategoryCode:
          description: Category $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
          description: >
        code values are used to enable the classification of merchants into specific categories based on the type of business, trade or services supplied.
   Attachments       type: string

    [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-attachments](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-attachments)ProprietoryBankTransactionCode:
      additionalPropertiestype: object
false      AEPartyIdentityEvidenceTypeDocumentproperties:
      type  code:
object       properties:   description: "Proprietary bank transaction code to Type:identify the underlying transaction."
       allOf:   type: string
        - $refissuer:
'#/components/schemas/DocumentEvidenceType'
          description: "Identification of Thethe typeissuer of evidencethe allowedproprietary forbank providingtransaction verificationcode."
          CheckDetailstype: string
      required:
  type: array     - code

    itemsCurrencyExchange:
      type: object
      $refproperties:
'#/components/schemas/AEPartyIdentityCheckDetail'         VerifiersourceCurrency:
          $ref: '"#/components/schemas/DocumentEvidenceVerifier'TCurrency"
        TimetargetCurrency:
          $ref: '"#/components/schemas/ISODateTime'TCurrency"
        DocumentDetailsunitCurrency:
          $ref: '"#/components/schemas/DocumentEvidenceDetails'TCurrency"
        AttachmentsexchangeRate:
          $reftype: '#/components/schemas/AEPartyIdentityEvidenceAttachments'string
      description: > contractIdentification:
       Document Evidence          [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-document](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-document)type: string
        additionalPropertiesquotationDate: false
    AEPartyIdentityEvidenceTypeElectronicRecord:       type: objectstring
      properties:         Typeformat: date-time
         allOfinstructedAmount:
            - $ref: '"#/components/schemas/ElectronicRecordEvidenceType'OBActiveOrHistoricCurrencyAndAmount_8"
          descriptionrequired:
The type of evidence allowed for providing verification. - sourceCurrency
      CheckDetails:  - exchangeRate

      typeOBActiveOrHistoricCurrencyAndAmount_6:
array           itemstype: "object"
           $ref: '#/components/schemas/AEPartyIdentityCheckDetail'
        Time:description: "Transaction charges to be paid by the charge bearer."
           $ref: '#/components/schemas/ISODateTime'properties:
        Recordamount:
          $ref: '"#/components/schemas/ElectronicRecordProperties'OBActiveCurrencyAndAmount_SimpleType"
        Attachmentscurrency:
          $ref: '"#/components/schemas/AEPartyIdentityEvidenceAttachments'ActiveOrHistoricCurrencyCode_1"
        descriptionchargeIncluded:
>         Electronic Recorddescription: Evidence|
         [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-electronic_re](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-electronic_re)   If true then the additionalProperties:value falsein the Amount has the AEReadParty2:ChargeAmount deducted from  it
  type: object       requiredtype: boolean

    OBActiveOrHistoricCurrencyAndAmount_8:
 - Data    type: "object"
   - Links  required:
      - Meta - "amount"
    properties:    - "currency"
   Data:           $ref: '#/components/schemas/AEReadParty2Data'properties:
        Linksamount:
          $ref: '"#/components/schemas/LinksResource'OBActiveCurrencyAndAmount_SimpleType"
        Metacurrency:
          $ref: '"#/components/schemas/MetaTotalPages'ActiveOrHistoricCurrencyCode_1"

     descriptionActiveOrHistoricCurrencyCode_1:
List of Parties for an Account
      additionalProperties description: false"A 3 character alphabetic code AEReadParty2Data:allocated to a currency under an international type:currency object
      required:
        - AccountId
        - Party
      properties:
        AccountId:
   identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds'."
      $reftype: '#/components/schemas/AccountId'"string"
        Partypattern: "^[A-Z]{3,3}$"
      example: "SAR"

type: array   OBActiveCurrencyAndAmount_SimpleType:
       itemsdescription: "A number of monetary units specified in an active currency where the $ref: '#/components/schemas/AEPartyIdentityAssurance'
      description: Primary data for the resource
      additionalProperties: false
    AEReadParty2Signed:unit of currency is explicit and compliant with ISO 4217."
      type: "string"
      pattern: "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$"

    #
 type: object  # Schemas related to Direct required:Debits
    #

  - iss DirectDebitsResponse:
      type: - expobject
      properties:
 - nbf      data:
  - message       propertiestype: array
       iss:   items:
       type: string    $ref: "#/components/schemas/CbuaeDirectDebit"
     description: >-  meta:
          [https$ref: "#//www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
 components/schemas/Meta"

    DirectDebitStatusEnum:
      exp:
   description: "Specifies the status of the direct debit."
      type: string
number      enum:
       description: >- Active
        - Inactive

[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
       CbuaeDirectDebit:
      type: object
    nbf:  properties:
        typeaccountId: number
          description: >-"A unique and immutable identifier produced by the financial institution to identify  [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
        aud:the account resource.This identifier has no meaning to the account owner (User 1)."
          type: string
array        directDebitId:
  items:        description: "A unique and immutable identifier type:used stringto identify the direct debit resource. This identifier has no meaning description:to >-the account owner."
          [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)type: string
        iatmandateIdentification:
          typedescription: "This numberis the unique and immutable reference to the User 1 for description:the >-Direct Debit mandate."
          [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)type: string
        messagedirectDebitStatusCode:
          $ref: '"#/components/schemas/AEReadParty2'DirectDebitStatusEnum"
        additionalPropertiesname:
false     AEReadParty3:     description: "This type:is objectthe name of the regulated beneficiary entity required:that initiates the Direct Debit collection."
   - Data      type: string
 - Links      frequency:
  - Meta       propertiesdescription: "Specifies the frequency of the Direct Debit collections to the User 1 Data:account."
          $reftype: '#/components/schemas/AEReadParty3Data'string
          Linksenum:
          $ref: '#/components/schemas/LinksResource'  - UAEOF.Annual
         Meta:   - UAEOF.Daily
      $ref: '#/components/schemas/MetaTotalPages'     - UAEOF.Fortnightly
description: Current PSU Information       additionalProperties: false - UAEOF.HalfYearly
  AEReadParty3Data:       type: object  - UAEOF.Monthly
   required:         - PartyUAEOF.NotKnown
            - UAEOF.Quarterly
  properties:         Party: - UAEOF.Weekly
        typepreviousPaymentDateTime:
array           itemstype:  string
          $refformat: '#/components/schemas/AEPartyIdentityAssurance'date-time
      additionalProperties: false previousPaymentAmount:
   AEReadParty3Signed:       type$ref: object"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
      required:
        - issaccountId
        - expmandateIdentification
        - nbfname

    #
   - message# Schemas related to Scheduled Payments
 properties:   #

    issScheduledPaymentsResponse:
          type: string
   object
      description: >-|
        A descriptor for  [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)scheduled payments.
        This is exp:a composite object that may be expanded in the future to type:support
number        additional scheduled payment description:types >-for new API standards and account types.
      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)properties:
        nbfdata:
          type: numberarray
          descriptionitems:
>-             [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)$ref: "#/components/schemas/CbuaeScheduledPayment"
        meta:
          aud$ref: "#/components/schemas/Meta"

    CbuaeScheduledPayment:
      type: arrayobject
      properties:
      items:  accountId:
          type: string
        scheduledPaymentId:
      description: >-   type: string
        [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)accountHolderShortName:
          iat$ref: "#/components/schemas/AccountHolderShortName"
         typescheduledType:
number           description: >-
             [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
        message:Specifies the type of scheduled payment date provided under
            $ref: '#/components/schemas/AEReadParty3'ScheduledPaymentDateTime.
       additionalProperties: false     AssuranceDetails: Encoded with allowable values of:
 type: object       required:     "Arrival" - User1 specifies -the AssuranceTypedate for the arrival of funds in the beneficiary -(Creditor) AssuranceClassificationaccount
        - EvidenceRef     "Execution" - properties:User1 specifies the date which the payment needs to AssuranceType:be executed from the User 1 (Debtor) account.
   type: string      type: string
   description: >-      enum:
      String denoting which part of the assurance_process the evidence- UAEOF.Arrival
            - fulfilsUAEOF.Execution
        AssuranceClassificationscheduledPaymentDateTime:
          type: string
          descriptionformat: >date-time
        creditorReference:
   String    reflecting how the evidencetype: hasstring
been classified or measured     debtorReference:
       as required by thetype: TrustFrameworkstring
        EvidenceRefinstructedAmount:
          type$ref: array"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
          itemscreditorAgent:

           $ref: '"#/components/schemas/EvidenceRef'AEBranchAndFinancialInstitutionIdentification5_1"
        descriptioncreditorAccount:
Denoting the details about how the evidence complies with the policy
$ref: "#/components/schemas/AECashAccount5_0"

    additionalPropertiesAEBranchAndFinancialInstitutionIdentification5_1:
 false     AssuranceProcesstype: object
      typerequired:
 object       required:- schemeName
        - identification
   Policy   description: >
    - Procedure   Creditor Agent refers to the Financial -Institution AssuranceDetailsthat manages the
    properties:    account on behalf of the Policy:scheduled payment beneficiary party, managing
      type: string registration, booking of entries on the account, calculating balances on
description: Representing the standard or policy that was followed.the account and providing information about the account. This Procedure:is the
        servicing type:Financial stringInstitution of the Beneficiary account.
      descriptionproperties:
 Representing a specific procedure from the policy thatschemeName:
was followed.         AssuranceDetails$ref: >-
         type: array  #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
        itemsidentification:

           $ref: '#/components/schemas/AssuranceDetails'Identification_1'
      additionalProperties: false

    AECashAccount5_0:
      descriptiontype: >object
      required:
    Determines the assurance process that- wasschemeName
followed. This reflects how     - identification
  the evidence meets the requirementsdescription: ofProvides the TrustFramework and
 details to identify the beneficiary account.
      AssuranceLevel.properties:
The factual record of the evidence and the proceduresschemeName:
        followed are recorded in the evidence element, this element is used to
$ref: '#/components/schemas/AEExternalAccountIdentificationCode'
        identification:
       cross reference the evidence to the AssuranceLevel followed$ref: '#/components/schemas/Identification_0'
      additionalProperties: false

   OpenID Connect#
for Identity Assurance 1.0: # Schemas related to Standing Orders
  [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element)    #

    StandingOrdersResponse:
      type: object
      additionalPropertiesdescription: false|
    Claims:    A descriptor  type: objectfor StandingOrder.
      properties:
        GivenNamedata:
          type: stringarray
          descriptionitems:
>-             Given name of the Party. Given name (also called forename) is used$ref: "#/components/schemas/CbuaeStandingOrder"
        meta:
              to differentiate from the surname or family name.
 $ref: "#/components/schemas/Meta"

    CbuaeStandingOrder:
      Surnametype: object
      properties:
    type: string   accountId:
       description: Surname of thetype: Partystring
        MiddleNamestandingOrderId:
          type: string
          descriptionaccountHolderShortName: Middle
name of the Party         Nickname$ref: "#/components/schemas/AccountHolderShortName"
         typestandingOrderType:
string           description: NicknameThe type of theStanding Order.
 Party         EmiratesIdtype: string
         type enum:
string             description: Emirates ID number of the Party- UAEOF.BetweenMyAccounts
            - UAEOF.SameBankTransfer
 EmiratesIdExpiryDate:           type: string- UAEOF.LocalBankTransfer
          format: date - UAEOF.InternationalTransfer
        description: Emirates ID card expiry- dateUAEOF.Charity
        DateOfBirthfrequency:
          type: string
          formatcreditorReference: date
          descriptiontype: Date of birthstring
of the Party         SourceOfIncomepurpose:
          type$ref: string"#/components/schemas/PurposeSO"
        SalaryfirstPaymentDateTime:
          type: string
number          Nationalityformat: date-time
        nextPaymentDateTime:
type: string         ResidentialAddresstype: string
          $refformat: '#/components/schemas/AEPartyIdentityAddressClaim'date-time
        MobileNumberlastPaymentDateTime:
          type: string
          Emailformat: date-time
        finalPaymentDateTime:
type: string         MaritalStatustype: string
         type format: stringdate-time
        SalutationnumberOfPayments:
          type: string
        LanguagestandingOrderStatusCode:
          typedescription: stringSpecifies the status of the standing order in code EmployerName:form.
          type: string
          EmploymentSinceDateenum:
          type: string  - UAEOF.Active
            format: date- UAEOF.Inactive
        PowerofAttorneyfirstPaymentAmount:
          type$ref: boolean"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
        SalaryTransfernextPaymentAmount:
          type$ref: boolean"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
        ProfessionlastPaymentAmount:
          type$ref: string"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
        UpdatedAtfinalPaymentAmount:
          type$ref: string"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
        creditorAgent:
  format: time       description$ref: >"#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1"
        Standard ClaimscreditorAccount:
          [https$ref: "#/components/openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)schemas/AECashAccount5_0"
        supplementaryData:
         IdentityAssurance Claimstype: object

    #
   [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)
   # Schemas related to Products
   additionalProperties: false#
    CountryCodeProductsResponse:
      type: object
      requiredproperties:
        -data:
   CountryCode       propertiestype: array
        CountryCode  items:
          type  $ref: string"#/components/schemas/CbuaeProduct"
        meta:
     pattern: ^[A-Z]{2,2}$    $ref: "#/components/schemas/Meta"

    descriptionCbuaeProduct:
Nation with its own government, occupying atype: particularobject
territory.       additionalPropertiesdescription: false|
    DocumentEvidenceDetails:    A descriptor for type:an objectproduct.
      properties:  This is a composite object that may Type:be expanded in the future to support
    $ref: '#/components/schemas/DocumentEvidenceDetailsType'   additional account types for new API DocumentNumber:standards and product types.
       typeproperties:
string        AccountId:
  description: The unique id number in the evidence useddescription: for"A verificationunique checkingand immutable identifier produced by the financial institution to PersonalNumber:identify the account resource.This identifier has no meaning to the account owner type: string(User 1)."
          descriptiontype: >string
        ProductId:
   An identifier that is assigned to the End-User and is not limited to
        description: "Identifier within the financial institution for the product. Must be unique in the organisation."
   being used in one document, for example atype: nationalstring
identification        ProductType:
    number, personal identity number, citizen number, socialdescription: security"Descriptive code for the product."
        number, driver number,type: accountstring
number, customer number, licensee     ProductName:
       number, etc  description: "Descriptive name for the product."
 SerialNumber:
          type: string
          descriptionIsIslamic:
>          description: |
 An identifier/number that identifies the document irrespective of     A flag to denote if the Product is anyan personalizationIslamic informationproduct
(this usually only applies to      type: boolean
     physical artifacts and is present before personalization).default: false
        CalendarTypeCharges:
          $ref: '#/components/schemas/AEPartyCalendarTypeAECharge'
        DateOfIssuanceLendingRates:
          $ref: '#/components/schemas/ISODateTimeAELendingRate'
        DateOfExpiryDepositRates:
          $ref: '#/components/schemas/ISODateTimeAEDepositRate'
      additionalProperties: true

Issuer:    AECharge:
      $refdescription: '#/components/schemas/DocumentEvidenceDetailsIssuer' |
       description: 'RepresentingFees theand documentcharges usedapplicable to perform the identityaccount
verification. '     type: array
additionalProperties: false     DocumentEvidenceDetailsIssueritems:
        type: object
        required:
          - Name
        - Address - ChargeType
      - CountryCode   - Amount
    - Jurisdiction   properties:
   properties:       Name:
 Name:           type: string
            description: |
              DesignationName of the issuer of the document. charge
            minLength: 1
            maxLength: 40
          AddressChargeType:
           $ref: '#/components/schemas/AEPartyIdentityAddressClaim' type: string
            CountryCode:description: |
               allOfType of the charge
            minLength: 1
           - $refmaxLength: '#/components/schemas/CountryCode'10
          descriptionAmount:
>             String denoting the country or supranational organization that$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
          Frequency:
            issued the document as ISO 3166$ref: '#/components/schemas/AEDuration'
          Notes:
 Jurisdiction:           type: string
            description: >|
            String containing theNotes nameproviding ofmore theinformation on the charge.
         region(s)/state(s)/province(s)/municipality(ies) that issuer hasminLength: 1
           jurisdiction overmaxLength: (if500
this information is not common knowledge or  additionalProperties: false

    AELendingRate:
   derivable from the address)description: |
     description: Containing information aboutLending therates issuer offor this document.account
      additionalPropertiestype: falsearray
      DocumentEvidenceDetailsTypeitems:
        type: object
 string       enumrequired:
          - passportLendingRateType
          - driving_permit Rate
        properties:
   -   idcard    LendingRateType:
    - residence_permit       descriptiontype: string
>         The type of documentminLength: used1
for evidence checking          [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)"
maxLength: 10
   DocumentEvidenceType:       typeRate:
string            enum$ref: '#/components/schemas/AERate'
       -   Amount:
document     DocumentEvidenceVerifier:       type$ref: object'#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
      required:    CalculationFrequency:
    - Organization       properties$ref: '#/components/schemas/AEDuration'
       Organization:   ApplicationFrequency:
            type: string$ref: '#/components/schemas/AEDuration'
          RepaymentType:
 description: >-          type: string
 String denoting the organization which performed the verification on   description: |
        behalf of the OP.   Options in place for repayments
 Txn:           typeminLength: 1
 string           descriptionmaxLength: >-40
          Notes:
 Identifier referring to the identity verification transaction. The    type: string
       OP MUST ensure that the transactiondescription: identifier|
can be resolved into           Notes providing transactionmore detailsinformation duringon anthe auditrate.
      description: >-     minLength: 1
  Denoting the legal entity that performed the identity verification. This maxLength: 500
      object SHOULD beadditionalProperties: includedfalse
if
the OP did not performAEActiveOrHistoricCurrencyAndAmount_0:
the identity     type:  object
 verification itself. This object is retainedrequired:
for backward compatibility,      - Amount
 implementers are recommended to use CheckDetails & Organization- insteadCurrency
      additionalPropertiesdescription: false>-
    ElectronicRecordEvidenceType:    This is the type:value stringof the last direct debit collection from enum:the User 1
      - electronic_record account.
   ElectronicRecordProperties:   properties:
   type: object    Amount:
  required:        description: >-
Type         - PersonalNumber  A number of monetary units specified in -an CalendarTypeactive currency where the
     - CreatedAt      unit of currency -is DateOfExpiryexplicit and compliant with ISO 4217.
   - Source      type: properties:string
        TypeCurrency:
          $ref: '#/components/schemas/ElectronicRecordTypeActiveOrHistoricCurrencyCode_1'
        PersonalNumberadditionalProperties: false

    AEDepositRate:
   type: string  description: |
       description: >Deposit rates for this account
      type: array
String representing an identifier that is assigneditems:
to the PSU1 and     type: object
      is not limitedrequired:
to being used in one record, for example a national - DepositRateType
          identification- number,Rate
personal identity number, citizen number,    properties:
        social security number,DepositRateType:
driver number, account number, customer        type: string
   number, licensee number, etc.      minLength: 1
 CalendarType:           $refmaxLength: '#/components/schemas/AEPartyCalendarType' 10
          CreatedAtRate:
            $ref: '#/components/schemas/ISODateTimeAERate'
         DateOfExpiry CalculationFrequency:
            $ref: '#/components/schemas/ISODateTimeAEDuration'
         Source ApplicationFrequency:
            $ref: '#/components/schemas/ElectronicRecordSourcePropertiesAEDuration'
      description: |   RepaymentType:
     Representing the record used to perform the identitytype: verification.string
      additionalProperties: false     ElectronicRecordSourcePropertiesdescription:    |
  type: object       required:    Options in place for repayments
- Name         - Address minLength: 1
      - CountryCode     maxLength: 40
  - Jurisdiction       propertiesNotes:
        Name:           type: string
            description: |
            Designation of theNotes sourceproviding ofmore theinformation electronic_recordon the rate.
      Address:      minLength: 1
   $ref: '#/components/schemas/AEPartyIdentityAddressClaim'         CountryCodemaxLength: 500
         allOfadditionalProperties: false

    AERate:
     - $refdescription: '#/components/schemas/CountryCode' >
        A string representing a  description: >
 percentage (e.g. an interest rate).

        A Stringrate denotingof the100% countrywould orbe supranationalrepresented organizationby thatthe value 1.0 and a rate of -100%
     issued the evidence as ISO 3166by -1.0

        Jurisdiction:- At least 1 and up to a total of 16 type:significant stringdigits before decimal
        description:point
>
        - Up to 16 Stringdigits containingfollowing the namedecimal ofpoint
the
region(s) / state(s) / province(s)    - No formatting, eg thousand separating commas
  / municipality(ies) that source hastype: jurisdictionstring
over (if it's not   minLength: 1
      maxLength: 18
common
knowledge or derivable from theAEDuration:
address)       description: |
        InformationThe aboutperiod theof sourcetime offor thiswhich recordthe credit line is available.
  additionalProperties: false     ElectronicRecordType:Formatted according to ISO 8601 Durations (excludes type:recurrence stringsyntax)
      enumtype: string

    #
 - bank_account
   # Common types
    #

 - mortgage_account  BeneficiariesResponse:
      - loan_accounttype: object
      descriptionproperties:
 >       data:
 String denoting the type of electronic record   type: array
     "[https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)"     EvidenceMetadataitems:
      type:  object    $ref: "#/components/schemas/CbuaeBeneficiary"
 required:       meta:
  - EvidenceClassification       properties$ref:  "#/components/schemas/Meta"

     EvidenceClassificationCbuaeBeneficiary:
      type: object
  type: string   properties:
   description: >-    accountId:
    Object indicating any meta data about thetype: evidencestring
that is required by     beneficiaryId:
   the AssuranceProcess in order to demonstrate compliance withtype: thestring
        TrustFramework. It has the following sub-elementsbeneficiaryType:
          additionalPropertiesdescription: false>-
     EvidenceRef:       type:Specifies objectthe Beneficiary Type. Encoded with allowable values requiredof:
        - Txn   'Activated' - Beneficiary has been added -to EvidenceMetadatathe beneficiary list using
   properties:         Txn:
          type: stringSCA. 'NotActivated' - Beneficiary has been added to the beneficiary list
            description:without IdentifierSCA
referring to the txn used in the CheckDetails.   type: string
    EvidenceMetadata:      enum:
    $ref: '#/components/schemas/EvidenceMetadata'       description: Evidence being referred to- UAEOF.Activated
         additionalProperties: false  - UAEOF.NotActivated
 EvidenceType:       anyOfaccountHolderShortName:
        -  $ref: '"#/components/schemas/AEPartyIdentityEvidenceTypeDocument'AccountHolderShortName"
        - $ref: '#/components/schemas/AEPartyIdentityEvidenceTypeElectronicRecord'reference:
    LinksResource:       type: objectstring
      required:  supplementaryData:
      - Self   type: object
  properties:         Selfservicer:
          $ref: '#/components/schemas/SelfAEBranchAndFinancialInstitutionIdentification6_1'
        FirstcreditorAccount:
          $reftype: '#/components/schemas/First'array
          Previtems:
            $ref: '#/components/schemas/PrevAECashAccount5_0'

    TCurrency:
   Next:   type: string
      $ref: '#/components/schemas/Next'pattern: "^[A-Z]{3,3}$"

       LastAccountHolderName:
          $ref: '#/components/schemas/Last'type: "string"
      description: Links|
relevant to the resource     The Account additionalProperties:Holder falseName is the name or PostalCode:names of the Beneficiary account owner(s) represented type:at objectthe account level, as displayed by the required:Creditor Agent's online channels and as provided by the -Beneficiary PostalCodeto the customer when adding the Beneficiary properties:in the Beneficiary list.
     PostalCode:   Note, the Account Holder Name is not the type:product stringname or the nickname of the account.d

    minLengthAccountHolderShortName: 5
          maxLengthtype: 5"string"
          description: >-|
        The Beneficiary account holder Identifiernick consistingname
of
a group of letters and/orTransactionDateTime:
numbers that is    title: "TransactionDateTime"
      description: added|
to a postal address to assist the sorting ofThe mail.Date Time of when the transaction occurred.
additionalProperties: false     TrustFrameworkCode:  All dates in the JSON type:payloads stringare represented in ISO 8601 date-time format.
enum:        All date-time UAEOF.Undefinedfields in responses must include the timezone.
description: >-       An example Identifiesis the trust framework used for verification. This consists of abelow: 2017-04-05T10:43:07+00:00
      type: "string"
   set of rules and standards and sets out requirements so thatformat: "date-time"
    LocalTimeZone:
      title: "LocalTimeZone"
 organisations know what ‘good’ identity verificationdescription: looks|
like.        The UTC Trustoffset Frameworks:of the local date and time of where  [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
the transaction occurred
   VerifiedClaim:       type: objectE.g. UTC+03:00
       requiredtype: "string"
      format: "date-time"
  Verification  TerminalId:
      -description: Claims"ID of the Terminal if the transaction properties:was initiated from a retail POS"
   Verification:   type: "string"
      $refminLength: '#/components/schemas/VerifiedClaimVerification'8
      maxLength: 20
Claims:    BillDetails:
      allOfdescription: "Bill Details"
      type: "object"
  - $ref: '#/components/schemas/Claims'  properties:
        descriptionBillerID:
>          description: |
  Standard Claims:         This should be 'BillerCode' as  [https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)
per SP-SADAD specifications. It is a
            IdentityAssuranceunique Claims:biller identifier within SADAD that could be used by the
    [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)       description: >end-user to refer to a specific SADAD biller (e.g. VerifiedSTC Claimsbiller code
        Container object containing entries foris the001, trustwater frameworkservices andbiller thecode is 015, etc.)
     evidence used to verify the claimstype: "string"
        [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-representing-verified-claim](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-representing-verified-claim)BillNumber:
          additionalPropertiesdescription: false
"Unique bill identifier within the account."
   VerifiedClaimVerification:       type: object"string"
        requiredBillPaymentType:
        - TrustFramework  description: |
        properties:    Indicates whether the bill could TrustFramework:be a One-off payment, Recurring
      $ref: '#/components/schemas/TrustFrameworkCode'     payment, Postpaid, Pre-paid, etc
AssuranceLevel:
          type: "string"
          descriptionx-namespaced-enum:
>            - DeterminesUAEOF.Post-Paid
the assurance level associated with the PSU1 in the    - UAEOF.AdvancePaymentForRoaming
       respective VerifiedClaims. The value range depends on the respective- UAEOF.Recharge
            - TrustFramework valueUAEOF.Renewal
            - AssuranceUAEOF.RoamingDeposit
Level:             [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)- UAEOF.One-Off
        AssuranceProcess:    - UAEOF.RecurringPayment

    $refPurposeSO:
'#/components/schemas/AssuranceProcess'         Timedescription: |
        The allOf:purpose of the Standing Order payment.
       - $ref: '#/components/schemas/ISODateTime'
          description: >A free format string in the form of transaction categorisation.
        Example: "Bills and expenses", "Government payment", "Personal Expenses".
Representing the date and time when the identity verificationtype: "string"
      minLength: 1
     process tookmaxLength: place.50
All
dates in the JSON payloadsConfirmationRequest:
are represented     type: object
      inproperties:
ISO 8601 date-time format. All date-time fields in responsesdata:
must          type: object
 include the timezone. An example is below: 2017-04-05T10:43:07+00:00         VerificationProcessproperties:
          type  account:
 string             descriptiontype: object
 >             Uniqueproperties:
reference to the identity verification process as performed         schemeName:
   by the OP. Used for identifying and retrieving details in case of    type: string
       disputes or audits. Presence of this element might be required for enum:
           certain trust frameworks.       - UAEOF.IBAN
Evidence:           allOf:         - UAEOF.AccountNumber
  -  $ref: '#/components/schemas/EvidenceType'           descriptionidentification:
  >               The type: string
of evidence allowed for providing verification.           name:
  OpenID Connect for Identity Assurance 1.0:             [https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element)oneOf:
                    - $ref: "#/components/schemas/PersonName"
 description: >         Verification         - [https$ref: "#/components/openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element)schemas/BusinessName"

    PersonName:
      additionalPropertiestype: falseobject
      parametersproperties:
        AuthorizationfirstName:
       name: authorization   type: string
        inlastName:
   header       requiredtype: truestring

    BusinessName:
      descriptiontype: object
 An authorization Token as per https://tools.ietf.org/html/rfc6750properties:
        schemabusinessName:
          type: string


    x-customer-user-agentMeta:
      intype: headerobject
      nameproperties:
x-customer-user-agent        descriptiontotalPages:
Indicates the user-agent that the User is using.   type: number
  required: false       schemadescription: |
        type: string   The  x-fapi-customer-ip-address:
      in: headernumber of expected pages for the query.

        nametotalRecords: x-fapi-customer-ip-address
          requiredtype: number
   false       description: The|
User's IP address if the User is currently logged in with the TPP.The total number of records in the schema:full set.

    PaginatedMeta:
 type: string     x-fapi-auth-date:type: object
      inproperties:
 header       namepaginated: x-fapi-auth-date
          requiredtype: boolean
false       description: >-  description: |
     The time when the User last logged in`true` withif the TPP.response is 
paginated.

      All dates in the HTTP headers are`false` representedif asthe RFCresponse 7231returns Fullall Dates.matching Andata elements.

      example is below:    If not specified, a non-paginated response is Sun,assumed.
10
Sep 2017 19:43:31 UTC     totalPages:
 schema:         type: number
 string         patterndescription: >-|
          ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} The number of expected pages for the query.

 (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}      totalRecords:
    \d{2}:\d{2}:\d{2} (GMT|UTC)$     x-fapi-interaction-id:type: number
      in: header   description: |
  name: x-fapi-interaction-id       required: false The total number of records in description:the Anfull RFC4122set.
UID
used as a correlation id.Error:
      schematype: object
      properties:
  type: string     ConsentIderrorCode:
      name: ConsentId   type: string
  in: path       description: Error ConsentIdcode identifying the problem occured
  required: true     errorMessage:
 schema:         type: string
    AccountId:       namedescription: AccountIdMessage describing what problem has occured
 in: path       descriptionpropagateError:
AccountId       required: true  type: boolean
   schema:         typedescription: stringoptional field if error want FromBookingDateTimeParam:to  propagate


  inparameters:
query       nameaspspId:
fromBookingDateTime       descriptionname: >o3-aspsp-id
      in: header
The UTC ISO 8601 Date Time toschema:
filter transactions FROM      type: string
  NB Time component is optionalrequired: -true
set to 00:00:00 for just Date. deprecated: true
      description:
If the Date Time contains a timezone, the LFIIdentifier mustfor ignore the timezonefinancial institution that the request is targetted   componentto.
      schema:  This header is deprecated and will be type:removed stringin a future version of Ozone Connect. Use  format: date-time`o3-provider-id` instead.

    ToBookingDateTimeParamproviderId:
      inname: queryo3-provider-id
      namein: toBookingDateTimeheader
      descriptionschema:
>-        type: Thestring
UTC ISO 8601 Date Time to filterrequired: transactionstrue
TO      description: Identifier for the NBfinancial Timeinstitution componentthat isthe optionalrequest -is settargetted to
00:00:00
for just Date.  callerOrgId:
       If the Date Time contains a timezone, the LFI must ignore the timezone
  name: o3-caller-org-id
      in: header
      schema:
     component.       schematype: string
       typedescription: stringAn identifier for the organization calling the API

format: date-time     baseConsentIdcallerClientId:
      inname: queryo3-caller-client-id
      namein: baseConsentIdheader
      requiredschema:
 true       descriptiontype: |string
      description:  AAn specificidentifier baseConsentId.for Forthe example:OIDC clientId calling the API

   ``` callerSoftwareStatementId:
      name: baseConsentId=abco3-19877d98caller-ab0esoftware-4758statement-92a7-vvffr1234abvid
      in: header
 ```       schema:
        type: string
      allowEmptyValuedescription: false
      example: abc-19877d98-ab0e-4758-92a7-vvffr1234abv
  securitySchemes An identifier for the software statement calling the API

    apiUri:
    TPPOAuth2Security  name: o3-api-uri
      typein: oauth2header
      descriptionschema:
>-        type: TPPstring
  confidential client authorization with therequired: LFItrue
to stage a consent.   description: The parameterised URL of the **PleaseAPI referbeing tocalled [OpenIDby FAPIthe Securitycaller
Profile
1.0 -Part 2  apiOperation:
      Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)name: o3-api-operation
      in: header
   - 5.2.2 point 14schema:
- shall authenticate the confidential client using one type: string
      ofrequired: thetrue
following methods private_key_jwt and [OpenID Connect Coredescription: The API operation carried out by the caller 1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
        9. Client Authentication private_key_jwt**(e.g. GET, POST, PUT, DELETE, PATCH)

    consentId:
      flowsname: o3-consent-id
      in: header
clientCredentials:      schema:
    tokenUrl: https://authserver.example/token   type: string
      scopesdescription: The consentId for which this call is being made

  openid: Activates OpenIDcallerInteractionId:
Connect Support     name: o3-caller-interaction-id
      accountsin: Abilityheader
to read Accounts Information   schema:
 UserOAuth2Security:       type: oauth2string
      description: >-The interaction ID passed in by the caller, if [OAuth2any
PAR
flow](https://datatracker.ietf.org/doc/html/rfc9126), it is  ozoneInteractionId:
      required when the User needs to perform SCA with the LFI when a TPP
  name: o3-ozone-interaction-id
      in: header
      schema:
     wants to access antype: LFIstring
resource owned by the User. **Please referrequired: totrue
      description: An [OpenIDinteraction FAPIID Securitygenerated Profileby 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
   Ozone if the caller did not send in one. If the callerInteractionId is specified, this takes the same value.

    psuIdentifier:
      name: o3-psu-identifier
    of the following methods private_key_jwt and [OpenID Connect Corein: header
      schema:
     1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)   type: string
    9. Client Authentication private_key_jwt**required: true
      flowsdescription: A Base64 encoded representation of the psuIdentifier JSON object.

authorizationCode:    transaction-fromBookingDateTime:
      authorizationUrlname: https://authserver.example/authorization fromBookingDateTime
      in: query
     tokenUrl: https://authserver.example/token
description: |
        If scopes:specified, the API should only return transactions which have a `bookingDateTime` that occours openid:on Activatesor OpenIDafter Connectthe Supportspecified date-time.
      schema:
    accounts: >-   type: string
        format: date
Ability
to read Accounts Information. This is a parameterized transaction-toBookingDateTime:
      name: toBookingDateTime
      in: query
 scope with the ConsentId  description: |
 LFIWebhookSecurity:       type:If httpspecified, the API should only return transactions description:which >-have a `bookingDateTime` that occours on or before the The LFI generates a Self Signed JWT Authorization Token for Clientspecified date-time.
      schema:
        type: string
Authentication with the TPP. **Please refer to Self-Signed JWTformat: date

  securitySchemes:
   Authorization TokenbearerAuth:
Specification in the UAE Standard API User Guide**type: http
      scheme: bearer
      bearerFormat: JWT

2. Attachments

View file
nameuaecbuae-ozone-accountconnect-informationdata-openapisharing.yaml