Versions Compared

Key

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

...

Awesome api app render macro
theme
authHeaderName
linksColor#0052cc
showInfotrue
allowSpecUrlLoadfalse
primaryColor#0052CC
schemaStyletable
methodGetColor#0065FF
authHeaderValue
methodPutColor#6554c0
generalThemeconfluence_light
allowTrytrue
layoutHeight800
allowAdvancedSearchfalse
codeBg#F4F5F7
methodHeadColor#ffab00
navHoverTextColor
showComponentstrue
allowServerSelectiontrue
textColor#172B4D
methodPatchColor#ffab00textColor#172B4D
navBgColor#FAFBFC
codeFg#172B4D
navTextColor#172B4D
fontSizedefault
sortEndpointsBymethod
usePathInNavBarfalse
navAccentColor#6554C0
methodDeleteColor#ff5630
headerColor#fff
allowAuthenticationfalseheaderColor#fff
bgColor#fff
allowSearchfalse
sortTagstrue
themelight
methodPostColor#36b37e
lightauthTypeNone
inlineCodeFg#6554C0
resourceContentTypejson
showHeaderfalse
allowSpecFileLoadfalse
inlineCodeBg#F4F5F7
renderStyleread
layoutcolumn
headingText
navItemSpacingdefault
infoDescriptionHeadingsInNavbartrue
specUrl
navHoverBgColor
resourceTypeCONTENT
openapi: 3.0.0
info:
  title: UAE FX API
  description: '## UAE Open Finance FX API Specification'
  version: v2.0-draft2
tags:
  - name: FX Quotes
    description: Operations to create foreign exchange quotes at a given LFI
  - name: Accounts
    description: Open an LFI account to complete an FX transaction
paths:
  /accounts:
    post:
      operationId: CreateAccount_unsignedRequest_CreateAccount_signedRequest
      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'
      description: >-
        Create an Account based on data shared from the LFI. The response
        provides

        an account identifier that can be used to retrieve the account details
        when

        the provisioning process is complete.


        Invoking this operation is driven by the User sharing with the TPP
        whether they

        already hold an account with a given LFI. There is no expectation that
        the TPP

        will automatically discover whether an account at this stage in the
        design as

        this could compromise data being provided by LFI with the quote.
      summary: Create an account
      responses:
        '201':
          description: >-
            The request has succeeded and a new resource has been created as a
            result.
          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/AECreateAccountResponseBody1'
              examples:
                ReadAccountOpeningAwaitingPartyDataUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningAwaitingPartyDataUnsignedResponse
                ReadAccountOpeningCreatedUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningCreatedUnsignedResponse
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateAccountResponseBody1'
              examples:
                ReadAccountOpeningAwaitingPartyDataUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningAwaitingPartyDataUnsignedResponse
                ReadAccountOpeningCreatedUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningCreatedUnsignedResponse
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: 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:
                    $ref: '#/components/schemas/AECreateAccountResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
              examples:
                ReadAccountOpeningAwaitingPartyDataSignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningAwaitingPartyDataSignedResponse
                ReadAccountOpeningCreatedSignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningCreatedSignedResponse
        '400':
          description: The server could not understand the request due to invalid syntax.
          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'
        '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'
        '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:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
        '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'
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateAccountRequestBody1'
            examples:
              CreateAccountUnsignedRequest:
                $ref: '#/components/examples/CreateAccountUnsignedRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateAccountRequestBody1'
            examples:
              CreateAccountUnsignedRequest:
                $ref: '#/components/examples/CreateAccountUnsignedRequest'
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: 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:
                  $ref: '#/components/schemas/AECreateAccountRequestBody1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
            examples:
              CreateAccountSignedRequest:
                $ref: '#/components/examples/CreateAccountSignedRequest'
        description: >-
          Request body for creating a new account Signed request body for
          creating a new account
      security:
        - TPPOAuth2Security:
            - fx
  /accounts/{AccountId}:
    get:
      operationId: Account_read
      summary: Retrieve an account
      description: >-
        Retrieve an Account based on a given account identifier. The response
        provides 

        both the status of the account and, when opened, the account details
        required

        by the TPP to complete an FX transaction.
      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/AEReadAccountResponseBody1'
              examples:
                ReadAccountOpeningAwaitingPartyDataUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningAwaitingPartyDataUnsignedResponse
                ReadAccountOpeningCreatedUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningCreatedUnsignedResponse
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadAccountResponseBody1'
              examples:
                ReadAccountOpeningAwaitingPartyDataUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningAwaitingPartyDataUnsignedResponse
                ReadAccountOpeningCreatedUnsignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningCreatedUnsignedResponse
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: 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:
                    $ref: '#/components/schemas/AEReadAccountResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
              examples:
                ReadAccountOpeningAwaitingPartyDataSignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningAwaitingPartyDataSignedResponse
                ReadAccountOpeningCreatedSignedResponse:
                  $ref: >-
                    #/components/examples/ReadAccountOpeningCreatedSignedResponse
        '400':
          description: The server could not understand the request due to invalid syntax.
          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'
        '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'
        '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:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
        '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'
      tags:
        - Accounts
      security:
        - TPPOAuth2Security:
            - fx
  /fx-quotes:
    post:
      operationId: CreateFxQuote_unsignedRequest_CreateFxQuote_signedRequest
      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'
      description: >-
        Create an FX quote based on a given currency pair. The quote request
        must be 

        sent to all LFIs individually, with responses aggregated by the TPP to
        provide

        the User a choice of quotes across providers.


        The User may already have a relationship with a given LFI. The TPP can 

        therefore include party data in the request to help the LFI correlate
        the User

        with an existing account or relationship. Including party data is
        optional but

        will allow contractual or pre-agreed rates to be generated by the LFI to
        help

        provide an informed choice to the User.


        If a User selects a quote from an LFI that they do not have a
        relationship with

        the TPP will be able to use the Account Opening API to initiate the
        creation of

        a new account for User.
      summary: Create an FX quote
      responses:
        '201':
          description: >-
            The request has succeeded and a new resource has been created as a
            result.
          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/AECreateFxQuoteResponseBody1'
              examples:
                CreateFXQuoteUnsignedResponse:
                  $ref: '#/components/examples/CreateFXQuoteUnsignedResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AECreateFxQuoteResponseBody1'
              examples:
                CreateFXQuoteUnsignedResponse:
                  $ref: '#/components/examples/CreateFXQuoteUnsignedResponse'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: 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:
                    $ref: '#/components/schemas/AECreateFxQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
              examples:
                CreateFXQuoteSignedResponse:
                  $ref: '#/components/examples/CreateFXQuoteSignedResponse'
        '400':
          description: The server could not understand the request due to invalid syntax.
          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'
        '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'
        '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:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
        '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'
      tags:
        - FX Quotes
      requestBody:
        required: true
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/AECreateFxQuoteRequestBody1'
            examples:
              CreateFXQuoteUnsignedRequest:
                $ref: '#/components/examples/CreateFXQuoteUnsignedRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/AECreateFxQuoteRequestBody1'
            examples:
              CreateFXQuoteUnsignedRequest:
                $ref: '#/components/examples/CreateFXQuoteUnsignedRequest'
          application/jwt:
            schema:
              type: object
              properties:
                iss:
                  type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                exp:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                nbf:
                  type: number
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                aud:
                  type: array
                  items:
                    type: string
                  description: >-
                    [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                iat:
                  type: 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:
                  $ref: '#/components/schemas/AECreateFxQuoteRequestBody1'
              required:
                - iss
                - exp
                - nbf
                - message
              additionalProperties: false
            examples:
              CreateFXQuoteSignedRequest:
                $ref: '#/components/examples/CreateFXQuoteSignedRequest'
        description: Unsigned FX Quote Request Signed FX Quote Request
      security:
        - TPPOAuth2Security:
            - fx
  /fx-quotes/{FxQuoteId}:
    get:
      operationId: FxQuote_read
      summary: Retrieve an FX quote
      description: >-
        Retrieve an FX quote based on a given quote identifier. The quote will
        include

        all the details submitted in the quote request together with the status
        of the

        quote.
      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/FxQuoteId'
      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/AEReadFxQuoteResponseBody1'
              examples:
                ReadFXQuoteUnsignedResponse:
                  $ref: '#/components/examples/ReadFXQuoteUnsignedResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadFxQuoteResponseBody1'
              examples:
                ReadFXQuoteUnsignedResponse:
                  $ref: '#/components/examples/ReadFXQuoteUnsignedResponse'
            application/jwt:
              schema:
                type: object
                properties:
                  iss:
                    type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                  exp:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                  nbf:
                    type: number
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                  aud:
                    type: array
                    items:
                      type: string
                    description: >-
                      [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                  iat:
                    type: 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:
                    $ref: '#/components/schemas/AEReadFxQuoteResponseBody1'
                required:
                  - iss
                  - exp
                  - nbf
                  - message
                additionalProperties: false
              examples:
                ReadFXQuoteSignedResponse:
                  $ref: '#/components/examples/ReadFXQuoteSignedResponse'
        '400':
          description: The server could not understand the request due to invalid syntax.
          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'
        '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'
        '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:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
        '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'
      tags:
        - FX Quotes
      security:
        - TPPOAuth2Security:
            - fx
    patch:
      operationId: FxQuote_unsignedRequest_FxQuote_signedRequest
      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/FxQuoteId'
      description: >-
        Update the status of a quote to Accepted as an indicator that the User
        has 

        accepted the quote and will proceed with the FX trade. Completion of the
        trade 

        is reliant on a funding account being available, which may require the
        creation 

        of a new account at the LFI to complete the trade. The TPP will invoke
        the 

        Account Opening API to initiate the creation of a new account for the
        User, 

        sending the party data they previously retrieved through Bank Data
        Sharing or

        that the User shared with the TPP manually.
            
        If the User does not have an account with the LFI they will indicate
        this to the 

        TPP, who will optionally invoke the Account Opening API to initiate the
        creation

        of a new account for the User, sending User agreed through an existing
        consent 

        to the LFI.
      summary: Update an FX quote status
      responses:
        '204':
          description: No content
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation ID.
              schema:
                type: string
        '400':
          description: The server could not understand the request due to invalid syntax.
          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'
        '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'
        '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:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
            retry-after:
              required: true
              description: Number in seconds to wait
              schema:
                type: integer
                format: int64
        '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'
      tags:
        - FX Quotes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/AEUpdateFxQuoteRequestBody1'
                - type: object
                  properties:
                    iss:
                      type: string
                      description: >-
                        [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
                    exp:
                      type: number
                      description: >-
                        [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
                    nbf:
                      type: number
                      description: >-
                        [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
                    aud:
                      type: array
                      items:
                        type: string
                      description: >-
                        [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
                    iat:
                      type: 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:
                      $ref: '#/components/schemas/AEUpdateFxQuoteRequestBody1'
                  additionalProperties: false
        description: Unsigned FX Quote Request Signed FX Quote Request
      security:
        - TPPOAuth2Security:
            - fx
components:
  parameters:
    AccountId:
      name: AccountId
      in: path
      required: true
      description: Unique identifier for a given account opening instance
      schema:
        $ref: '#/components/schemas/AEAccountIdType'
    Authorization:
      name: authorization
      in: header
      required: true
      description: An Access Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    FxQuoteId:
      name: FxQuoteId
      in: path
      required: true
      description: Unique identifier for a given FX quote
      schema:
        $ref: '#/components/schemas/FxQuoteIdType'
    x-customer-user-agent:
      name: x-customer-user-agent
      in: header
      required: false
      description: Indicates the user-agent that the User is using.
      schema:
        type: string
    x-fapi-auth-date:
      name: x-fapi-auth-date
      in: header
      required: false
      description: >-
        The time when the User last logged in with the TPP. 

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

        Sun, 10 Sep 2017 19:43:31 UTC
      schema:
        type: string
        pattern: >-
          ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
          (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
    x-fapi-customer-ip-address:
      name: x-fapi-customer-ip-address
      in: header
      required: false
      description: The User's IP address if the User is currently logged in with the TPP.
      schema:
        type: string
    x-fapi-interaction-id:
      name: x-fapi-interaction-id
      in: header
      required: false
      description: An RFC4122 UID used as a correlation ID.
      schema:
        type: string
  schemas:
    AEAccount:
      type: object
      required:
        - AccountId
      properties:
        AccountId:
          $ref: '#/components/schemas/UAEAccountInformationAPI.AccountId'
        AccountHolderName:
          $ref: '#/components/schemas/UAEAccountInformationAPI.AccountHolderName'
        AccountHolderShortName:
          $ref: '#/components/schemas/UAEAccountInformationAPI.AccountHolderShortName'
        Status:
          $ref: '#/components/schemas/UAEAccountInformationAPI.AEAccountStatusCode'
        StatusUpdateDateTime:
          $ref: '#/components/schemas/UAEAccountInformationAPI.StatusUpdateDateTime'
        Currency:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.ActiveOrHistoricCurrencyCode_0
        AccountType:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.AEExternalAccountTypeCode
        AccountSubType:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.AEExternalAccountSubTypeCode
        Description:
          $ref: '#/components/schemas/UAEAccountInformationAPI.Description_0'
        Nickname:
          $ref: '#/components/schemas/UAEAccountInformationAPI.Nickname'
        OpeningDate:
          $ref: '#/components/schemas/UAEAccountInformationAPI.OpeningDate'
        MaturityDate:
          $ref: '#/components/schemas/UAEAccountInformationAPI.MaturityDate'
        AccountIdentifiers:
          $ref: '#/components/schemas/AccountIdentifiers'
        Servicer:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.AEBranchAndFinancialInstitutionIdentification5_0
        CreationDateTime:
          $ref: '#/components/schemas/CreationDateTime'
        OpeningStatus:
          $ref: '#/components/schemas/AEAccountOpeningStatusCodes'
        OpeningStatusUpdateDateTime:
          $ref: '#/components/schemas/OpeningStatusUpdateDateTime'
      description: >
        The account object, which includes the account properties and the status
        of the

        account opening process. The properties of the account share the same
        structure

        as the Bank Data Sharing API description, in an effort to maintain
        consistency 

        with other open finance APIs.
      additionalProperties: false
    AEAccountIdType:
      type: string
      minLength: 1
      maxLength: 40
      description: >-
        A unique and immutable identifier produced by the LFI to identify the
        account resource.This identifier has no meaning to the account owner
        (User 1).
    AEAccountOpeningLinks1AEAccountOpeningDataSharingAudit:
      type: object
      required:
        - SelfJSONPath
       properties: - Action
      Selfproperties:
        JSONPath:
 $ref: '#/components/schemas/Self'         AccountOpeningRedirectUrltype: string
          typedescription: string>-
          format: uri The JSONPath expression pointing to the data that has been description:changed
>-            in Athe redirectoriginal URLshared provideddata bypayload.
the LFI to complete the FX trade. The TPPAction:
          type: string
must redirect the User to this URL.    enum:
         The URL is optional- asAdded
the LFI may have all required information      - Updated
     through party data to complete account creation. - Removed
    additionalProperties: false     AEAccountOpeningRequestdescription: The action that was taken by type:the objectUser
      required:  OriginalValue:
      - FxQuoteId   type:  string
 properties:         FxQuoteIddescription: >-
          allOf:  The original value that was shared through Bank Data Sharing. Only
- $ref: '#/components/schemas/FxQuoteIdType'          applies description:if Thethe uniqueAction identifieris forUpdated theor quoteRemoved.
      description: >-
Account:        Provides an audit trail allOf:of changes made by a User to the data shared
   - $ref: '#/components/schemas/UAEAccountInformationAPI.AECashAccount6_1'    from the LFI through Bank Data Sharing.


        Each element description:in >-the array is a JSONPath expression that points to the
   Details of the bank account detailsdata sharedthat fromhas thebeen LFIchanged throughand athe original value supplied through data
       data sharing.
consent
with
the TPP.       TPP must Party:adhere to [RFC
        $ref: '#/components/schemas/AEIdentityAssurance'
9535](https://datatracker.ietf.org/doc/html/rfc9535) when constructing
       DataSharingAudit: JSON Path expressions. This value can be omitted when no type:changes arrayare
        made by items:the User.
      example:
    type: object   JSONPath: $.party.PersonalInformation.Name
        propertiesAction: Updated
        OriginalValue: John Doe
  JSONPath:    additionalProperties: false
    AEAccountOpeningLinks1:
      type: stringobject
      required:
        - description:Self
>-      properties:
        Self:
   The JSONPath expression pointing to the data that has been$ref: '#/components/schemas/Self'
        AccountOpeningRedirectUrl:
          changedtype: instring
the request payload.        format: uri
     OriginalValue:     description: >-
          type: string A redirect URL provided by the LFI to complete the FX trade. The TPP
  description: The original value that was shared through Bank Data Sharing.          must redirect the User to this URL.

            The URL is optional as the LFI may required:have all required information
            through party -data JSONPathto complete account creation.
      additionalProperties: false
   - AEAccountOpeningRequest:
 OriginalValue     type: object
      additionalProperties: false
 required:
        - FxQuoteId
      properties:
        descriptionFxQuoteId:
>-          allOf:
   Provides an audit trail of changes made by a User- to the data shared$ref: '#/components/schemas/FxQuoteIdType'
          description: The unique identifier fromfor the quote.
  LFI  through Bank Data Sharing. Account:
          allOf:
  Each element in the array is a JSONPath expression that points- to
$ref: '#/components/schemas/UAEAccountInformationAPI.AECashAccount6_1'
          description: the>-
data that has been changed and the original value supplied   Details of the bank account details shared from the LFI through dataa
  sharing.          data sharing consent with the TPP.
   must adhere to [RFC  Party:
          9535](https://datatracker.ietf.org/doc/html/rfc9535) when$ref: '#/components/schemas/AEIdentityAssurance'
        DataSharingAudit:
          type: array
          items:
    constructing JSON Path expressions. This value can be omitted when$ref: '#/components/schemas/AEAccountOpeningDataSharingAudit'
          description: List noof changes are to account data shared with TPP made by the User.
      description: >-
        Request body for creating a new account based on a quote and shared user
        data.


        PartyData is optional as LFI can support manual data entry by the User
        when they 

        use the LFI user interface.
      additionalProperties: false
    AEAccountOpeningStatusCodes:
      type: string
      enum:
        - AwaitingPartyData
        - Pending
        - Created
        - Rejected
      description: >
        The status of the opening of the account, based on progress at the LFI.


        The values are defined as follows:


        * AwaitingPartyData: The account is awaiting user data to be provided.

        * Pending: The account is pending opening, based on LFI processes being
        completed.

        * Created: The account has been successfully opened. The account details
        will be available in the response to the TPP.

        * Rejected: The account opening has been rejected by the LFI due to
        insufficient data or failure to validate the User data.
    AEActiveCurrencyAmount:
      type: object
      required:
        - Currency
        - Amount
      properties:
        Currency:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
        Amount:
          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
      description: >-
        The Currency and Amount relating to the Payment, Refund or Request to
        Pay
      additionalProperties: false
    AEActiveOrHistoricAmount:
      type: string
      pattern: ^\d{1,16}\.\d{2}$
      description: >-
        A number of monetary units specified in an active currency where the
        unit of currency is explicit and compliant with ISO 4217.
      example: '100.00'
    AEActiveOrHistoricCurrencyCode:
      type: string
      pattern: ^[A-Z]{3,3}$
      description: >-
        A 3 character alphabetic code allocated to a currency under an
        international currency identification scheme, as described in the latest
        edition of the international standard ISO 4217 'Codes for the
        representation of currencies and funds'.
      example: AED
    AEAddress:
      type: array
      items:
        type: object
        properties:
          AddressType:
            $ref: '#/components/schemas/UAEPaymentAPI.AEAddressTypeCode'
          ShortAddress:
            $ref: '#/components/schemas/UAEPaymentAPI.AEShortAddress'
          UnitNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AEUnitNumber'
          FloorNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AEFloorNumber'
          BuildingNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AEBuildingNumber'
          StreetName:
            $ref: '#/components/schemas/UAEPaymentAPI.AEStreetName'
          SecondaryNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AESecondaryNumber'
          District:
            $ref: '#/components/schemas/UAEPaymentAPI.AEDistrict'
          PostalCode:
            $ref: '#/components/schemas/UAEPaymentAPI.AEPostalCode'
          POBox:
            $ref: '#/components/schemas/UAEPaymentAPI.AEPOBox'
          ZipCode:
            $ref: '#/components/schemas/UAEPaymentAPI.AEZipCode'
          City:
            $ref: '#/components/schemas/UAEPaymentAPI.AECity'
          Region:
            $ref: '#/components/schemas/UAEPaymentAPI.AERegion'
          Country:
            $ref: '#/components/schemas/UAEPaymentAPI.AECountryCode'
        required:
          - AddressType
          - Country
        additionalProperties: false
      minItems: 1
      description: >-
        (Array) Address information that locates and identifes a specific
        address, as defined by a national or international postal service."
    AECharges:
      type: object
      required:
        - ChargeBearer
        - Type
        - Amount
      properties:
        ChargeBearer:
          $ref: '#/components/schemas/UAEPaymentAPI.AEChargeBearerType1Code'
        Type:
          $ref: '#/components/schemas/UAEPaymentAPI.AEExternalPaymentChargeTypeCode'
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAmount'
        Description:
          type: string
          minLength: 1
          maxLength: 140
          description: >-
            Description of the charge, for display to the User to help explain
            why the charge is levied.
      additionalProperties: false
    AECreateAccountRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEAccountOpeningRequest'
      additionalProperties: false
    AECreateAccountResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEAccount'
        Links:
          $ref: '#/components/schemas/AEAccountOpeningLinks1'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AECreateFxQuoteRequestBody1:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEFxQuoteRequestProperties'
      description: Request body for creating a new FX quote
      additionalProperties: false
    AECreateFxQuoteResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEFxQuoteProperties'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEError:
      type: object
      required:
        - Code
        - Message
      properties:
        Code:
          allOf:
            - $ref: '#/components/schemas/AEErrorCode'
          description: Low level textual error code, e.g., UAEOF.Field.Missing
        Message:
          type: string
          minLength: 1
          maxLength: 500
          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
        Path:
          type: string
          minLength: 1
          maxLength: 500
          description: >-
            Recommended but optional reference to the JSON Path of the field
            with error, e.g., Data.Initiation.InstructedAmount.Currency
        Url:
          type: string
          description: >-
            URL to help remediate the problem, or provide more information, or
            to API Reference, or help etc
      description: Error
      additionalProperties: false
    AEErrorCode:
      type: string
      enum:
        - AccessToken.Unauthorized
        - AccessToken.InvalidScope
        - Consent.Revoked
        - Consent.TransientAccountAccessFailure
        - Consent.AccountTemporarilyBlocked
        - Consent.PermanentAccountAccessFailure
        - Consent.Invalid
        - JWS.InvalidSignature
        - JWS.Malformed
        - JWS.InvalidClaim
        - JWS.InvalidHeader
        - GenericRecoverableError
        - GenericError
        - JWE.DecryptionError
        - JWE.InvalidHeader
        - Event.UnexpectedEvent
        - Body.InvalidFormat
        - Resource.InvalidResourceId
        - Resource.InvalidFormat
        - Consent.BusinessRuleViolation
    AEErrorResponse:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/AEError'
          minItems: 1
      description: >-
        An array of detail error codes, and messages, and URLs to documentation
        to help remediation.
      additionalProperties: false
    AEFxQuote:
      type: object
      required:
        - FxQuoteId
        - BuyAmount
        - SellAmount
        - UnitCurrency
        - QuotedCurrency
        - RateType
        - ExchangeRate
        - UserIdentificationStatus
        - ExpirationDateTime
        - Status
        - CreationDateTime
        - StatusUpdateDateTime
      properties:
        FxQuoteId:
          allOf:
            - $ref: '#/components/schemas/FxQuoteIdType'
          description: The unique identifier for the quote.
        BuyAmount:
          allOf:
            - $ref: '#/components/schemas/AETradeSideBuyAmount'
          description: The amount of the currency being bought.
        SellAmount:
          allOf:
            - $ref: '#/components/schemas/AETradeSideSellAmount'
          description: The amount of the currency being sold.
        UnitCurrency:
          allOf:
            - $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
          description: >-
            Currency in which the rate of exchange is expressed in a currency
            exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
        QuotedCurrency:
          allOf:
            - $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
          description: >-
            Currency into which the base currency is converted, in a currency
            exchange.
        RateType:
          type: string
          enum:
            - Actual
            - Agreed
            - Indicative
          description: Specifies the type used to complete the currency exchange.
        ExchangeRate:
          type: number
          description: >-
            The factor used for conversion of an amount from one currency to
            another. This reflects the price at which one currency was bought
            with another currency.
        Charges:
          type: array
          items:
            $ref: '#/components/schemas/AECharges'
          description: The charges associated with the request currency exchange.
        UserIdentificationStatus:
          type: string
          enum:
            - UserIdentified
            - UserNotIdentified
            - AccountOpeningNotSupported
          description: >-
            Status of User identification based on supplied Party data. The
            status code values are defined as follows:


            * UserIdentified: The User has been identified by the LFI based on
            the supplied Party data.

            * UserNotIdentified: The User has not been identified by the LFI
            based on the supplied Party data. The User may be able to open an
            account at the LFI when data requirements are fulfilled.

            * AccountOpeningNotSupported: The User has not been identified and
            the LFI does not support account opening based on the supplied Party
            data.


            Please note that there is no status code associated with a User
            logging into the LFI at this stage as this will be completed after
            the quote has been accepted and consent for the trade is granted
            through Bank Service Initiation.
        ExpirationDateTime:
          allOf:
            - $ref: '#/components/schemas/AEGulfStandardDateTime'
          description: The quote expiration data and time.
        ContractIdentification:
          type: string
          minLength: 1
          maxLength: 256
          description: >-
            Unique and unambiguous reference to the foreign exchange contract
            agreed between the initiating party/creditor and the debtor agent.
        Party:
          $ref: '#/components/schemas/AEIdentityAssurance'
        Status:
          allOf:
            - $ref: '#/components/schemas/AEFxQuoteStatusCodes'
          description: >-
            The status of the quote. The status code values are defined as
            follows:


            * Pending: The quote has been created at the LFI but the details
            have yet to finalized by the LFI.

            * Active: The quote has been finalized by the LFI and is available
            for the TPP to display to the User.

            * Accepted: The User has accepted the quote and the LFI has been
            notified by the TPP.

            * Fulfilled: The quote has been fulfilled by the LFI through either
            deposit of funds or remittance to a given Creditor.

            * Expired: The quote has expired and is no longer valid.


            The LFI is responsible for updating the statue to Fulfilled and
            returning relevant information based on the finalized value.
        FulfillmentAmount:
          type: object
          properties:
            BuyAmount:
              allOf:
                - $ref: '#/components/schemas/AETradeSideBuyAmount'
              description: The amount of the currency being bought.
            SellAmount:
              allOf:
                - $ref: '#/components/schemas/AETradeSideSellAmount'
              description: The amount of the currency being sold.
            ExchangeRate:
              type: number
              description: >-
                The factor used for conversion of an amount from one currency to
                another. This reflects the price at which one currency was
                bought with another currency.
          required:
            - BuyAmount
            - SellAmount
            - ExchangeRate
          description: >-
            The fulfillment value of the quote, based the final execution of the
            trade by the LFI.


            This value is only provided when the quote status is Fulfilled and
            the exchange rate and amount values differ from the original quote.


            Both the buy and sell side amounts are provided for ease of use.
          additionalProperties: false
        CreationDateTime:
          allOf:
            - $ref: '#/components/schemas/CreationDateTime'
          description: The date and time when the  quote was created.
        StatusUpdateDateTime:
          allOf:
            - $ref: '#/components/schemas/AEGulfStandardDateTime'
          description: The data and time the  quote was last updated.
      additionalProperties: false
    AEFxQuoteAddress:
      type: array
      items:
        type: object
        properties:
          AddressType:
            $ref: '#/components/schemas/UAEPaymentAPI.AEAddressTypeCode'
          ShortAddress:
            $ref: '#/components/schemas/UAEPaymentAPI.AEShortAddress'
          UnitNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AEUnitNumber'
          FloorNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AEFloorNumber'
          BuildingNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AEBuildingNumber'
          StreetName:
            $ref: '#/components/schemas/UAEPaymentAPI.AEStreetName'
          SecondaryNumber:
            $ref: '#/components/schemas/UAEPaymentAPI.AESecondaryNumber'
          District:
            $ref: '#/components/schemas/UAEPaymentAPI.AEDistrict'
          PostalCode:
            $ref: '#/components/schemas/UAEPaymentAPI.AEPostalCode'
          POBox:
            $ref: '#/components/schemas/UAEPaymentAPI.AEPOBox'
          ZipCode:
            $ref: '#/components/schemas/UAEPaymentAPI.AEZipCode'
          City:
            $ref: '#/components/schemas/UAEPaymentAPI.AECity'
          Region:
            $ref: '#/components/schemas/UAEPaymentAPI.AERegion'
          Country:
            $ref: '#/components/schemas/UAEPaymentAPI.AECountryCode'
        required:
          - AddressType
          - Country
        additionalProperties: false
      minItems: 1
      description: >-
        (Array) Address information that locates and identifes a specific
        address, as defined by a national or international postal service."
    AEFxQuoteCreditorAccount:
      type: object
      required:
        - SchemeName
        - Identification
        - Name
      properties:
        SchemeName:
          $ref: >-
            #/components/schemas/UAEPaymentAPI.AECreditorExternalAccountIdentificationCode
        Identification:
          $ref: '#/components/schemas/UAEPaymentAPI.AEIdentification'
        Name:
          $ref: '#/components/schemas/UAEPaymentAPI.AEName'
        TradingName:
          $ref: '#/components/schemas/UAEPaymentAPI.AETradingName'
      description: >-
        Unambiguous identification of the account of the creditor to which a
        credit entry will be posted.
      additionalProperties: false
    AEFxQuoteCreditorAgent:
      type: object
      required:
        - SchemeName
        - Identification
      properties:
        SchemeName:
          type: string
          enum:
            - BICFI
            - Other
          description: >-
            Refers to the Identification scheme for uniquely identifying the
            Agent.


            * BICFI: The BIC/SWIFT Code

            * Other: The ID; A Country Code followed by a Bank Code (4 character
            code). The full list of LFI names and 6 digits IDs are as follows:
        Identification:
          type: string
          description: The Agent is the Country Code followed by a Bank Code"
        Name:
          type: string
          minLength: 1
          maxLength: 140
          description: >-
            Name by which an agent is known and which is usually used to
            identify that agent.
        PostalAddress:
          $ref: '#/components/schemas/AEAddress'
      description: Refers to the Financial Institution.
      additionalProperties: false
    AEFxQuoteProperties:
      type: object
      required:
        - FxQuoteId
        - BuyAmount
        - SellAmount
        - UnitCurrency
        - QuotedCurrency
        - RateType
        - ExchangeRate
        - UserIdentificationStatus
        - ExpirationDateTime
      properties:
        FxQuoteId:
          allOf:
            - $ref: '#/components/schemas/FxQuoteIdType'
          description: The unique identifier for the quote.
        BuyAmount:
          allOf:
            - $ref: '#/components/schemas/AETradeSideBuyAmount'
          description: The amount of the currency being bought.
        SellAmount:
          allOf:
            - $ref: '#/components/schemas/AETradeSideSellAmount'
          description: The amount of the currency being sold.
        UnitCurrency:
          allOf:
            - $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
          description: >-
            Currency in which the rate of exchange is expressed in a currency
            exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.
        QuotedCurrency:
          allOf:
            - $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
          description: >-
            Currency into which the base currency is converted, in a currency
            exchange.
        RateType:
          type: string
          enum:
            - Actual
            - Agreed
            - Indicative
          description: Specifies the type used to complete the currency exchange.
        ExchangeRate:
          type: number
          description: >-
            The factor used for conversion of an amount from one currency to
            another. This reflects the price at which one currency was bought
            with another currency.
        Charges:
          type: array
          items:
            $ref: '#/components/schemas/AECharges'
          description: The charges associated with the request currency exchange.
        UserIdentificationStatus:
          type: string
          enum:
            - UserIdentified
            - UserNotIdentified
            - AccountOpeningNotSupported
          description: >-
            Status of User identification based on supplied Party data. The
            status code values are defined as follows:


            * UserIdentified: The User has been identified by the LFI based on
            the supplied Party data.

            * UserNotIdentified: The User has not been identified by the LFI
            based on the supplied Party data. The User may be able to open an
            account at the LFI when data requirements are fulfilled.

            * AccountOpeningNotSupported: The User has not been identified and
            the LFI does not support account opening based on the supplied Party
            data.


            Please note that there is no status code associated with a User
            logging into the LFI at this stage as this will be completed after
            the quote has been accepted and consent for the trade is granted
            through Bank Service Initiation.
        ExpirationDateTime:
          allOf:
            - $ref: '#/components/schemas/AEGulfStandardDateTime'
          description: The quote expiration data and time.
      additionalProperties: false
    AEFxQuoteRemittanceInformation:
      type: object
      required:
        - CreditorAccount
      properties:
        CreditorAgent:
          $ref: '#/components/schemas/AEFxQuoteCreditorAgent'
        Creditor:
          type: object
          properties:
            Name:
              type: string
              minLength: 1
              maxLength: 140
            PostalAddress:
              $ref: '#/components/schemas/AEFxQuoteAddress'
          additionalProperties: false
        CreditorAccount:
          $ref: '#/components/schemas/AEFxQuoteCreditorAccount'
      description: >-
        Provides remittance information for the quote, to allow the LFI to
        calculate charges accurately.


        The CreditorAccount is required as this will contain the destination
        account for the remittance. All other values are optional.


        If the quote does include a remittance element then this data is
        omitted.
      additionalProperties: false
    AEFxQuoteRequestProperties:
      type: object
      required:
        - TradeType
        - BuyCurrency
        - SellCurrency
        - Amount
      properties:
        TradeType:
          type: string
          enum:
            - Spot
          description: The trade type. Only Spot is currently supported.
        BuyCurrency:
          allOf:
            - $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
          description: >-
            The buy currency, expressed as a ISO 4217 three-character currency
            code.
          example: USD
        SellCurrency:
          allOf:
            - $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
          description: >-
            The sell currency, expressed as a ISO 4217 three-character currency
            code.
          example: AED
        Amount:
          type: object
          properties:
            Type:
              type: string
              enum:
                - Buy
                - Sell
            Amount:
              $ref: '#/components/schemas/AEActiveCurrencyAmount'
          required:
            - Type
            - Amount
          description: >-
            The requested currency amount, qualified with the correct currency
            code and a buy/sell indicator.
          additionalProperties: false
        ContractIdentification:
          type: string
          minLength: 1
          maxLength: 256
          description: >-
            Unique and unambiguous reference to the foreign exchange contract
            agreed between the initiating party/creditor and the debtor agent.
        Party:
          $ref: '#/components/schemas/AEIdentityAssurance'
        RemittanceInformation:
          $ref: '#/components/schemas/AEFxQuoteRemittanceInformation'
      description: >-
        A foreign exchange request based on a given currency pair. 


        The buy or sell side is based on the Amount property, which is qualified
        with the currency code and a buy/sell indicator.


        Buy and sell currency is also provided separately for easy of reference.
      additionalProperties: false
    AEFxQuoteStatusCodes:
      type: string
      enum:
        - Pending
        - Active
        - Accepted
        - Fulfilled
        - Expired
    AEGulfStandardDateTime:
      type: string
      pattern: .+\+04:00$
      format: date-time
    AEIdentityAssurance:
      type: object
      required:
        - Claims
      properties:
        Verification:
          $ref: '#/components/schemas/AEVerifiedClaimVerification'
        Claims:
          $ref: '#/components/schemas/AEVerifiedClaims'
      description: >-
        Verified identity assurance data and claims. Data can collected from
        LFIs under Data Sharing consent or provided manually by the TPP using
        data collected from the User.
      example:
        Claims:
          IdentityType: Person
          GivenName: John
          Surname: Doe
      additionalProperties: false
    AEReadAccountResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEAccount'
        Links:
          $ref: '#/components/schemas/AEAccountOpeningLinks1'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEReadFxQuoteResponseBody1:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEFxQuote'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AETradeSideBuyAmount:
      type: object
      required:
        - Currency
        - Amount
      properties:
        Currency:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
        Amount:
          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
      description: >-
        The Currency and Amount relating to the Payment, Refund or Request to
        Pay
      additionalProperties: false
    AETradeSideSellAmount:
      type: object
      required:
        - Currency
        - Amount
      properties:
        Currency:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyCode'
        Amount:
          $ref: '#/components/schemas/AEActiveOrHistoricAmount'
      description: >-
        The Currency and Amount relating to the Payment, Refund or Request to
        Pay
      additionalProperties: false
    AEUpdateFxQuoteRequestBody1:
      type: object
      properties:
        Data:
          type: object
          properties:
            status:
              type: string
              enum:
                - Accepted
          additionalProperties: false
      additionalProperties: false
    AEVerifiedBusinessClaims:
      type: object
      required:
        - IdentityType
        - BusinessName
        - TradeLicenceNumber
      properties:
        IdentityType:
          type: string
          enum:
            - Business
        BusinessName:
          type: string
          minLength: 1
          maxLength: 256
          description: Name of the business requesting the quote.
        TradeLicenceNumber:
          type: string
          description: Trade License Number of the business requesting the quote.
      description: Claims related to a business entity that holds a Trade License Number.
      additionalProperties: false
    AEVerifiedClaimVerification:
      type: object
      required:
        - TrustFramework
      properties:
        TrustFramework:
          $ref: '#/components/schemas/UAEAccountInformationAPI.TrustFrameworkCode'
        AssuranceLevel:
          type: string
          description: >-
            Determines the assurance level associated with the User in the
            respective VerifiedClaims. The value range depends on the respective
            TrustFramework value.

            Assurance Level:
            [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
        AssuranceProcess:
          $ref: '#/components/schemas/UAEAccountInformationAPI.AssuranceProcess'
        Time:
          description: >-
            Representing the date and time when the identity verification
            process took place. 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
        VerificationProcess:
          type: string
          description: >-
            Unique reference to the identity verification process as performed
            by the OP. Used for identifying and retrieving details in case of
            disputes or audits. Presence of this element might be required for
            certain trust frameworks.
        Evidence:
          description: >-
            The type of evidence allowed for providing verification.

            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)
      description: >-
        Verification

        [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)
      additionalProperties: false
    AEVerifiedClaims:
      oneOf:
        - $ref: '#/components/schemas/AEVerifiedPersonClaims'
        - $ref: '#/components/schemas/AEVerifiedBusinessClaims'
      discriminator:
        propertyName: IdentityType
        mapping:
          Person: '#/components/schemas/AEVerifiedPersonClaims'
          Business: '#/components/schemas/AEVerifiedBusinessClaims'
    AEVerifiedPersonClaims:
      type: object
      required:
        - IdentityType
      properties:
        IdentityType:
          type: string
          enum:
            - Person
        FullName:
          type: string
          description: >-
            The full name of the person. Can be provided as an alternative to
            `GivenName` and `Surname` where only the full name is captured.
        GivenName:
          type: string
          description: >-
            Given name of the Party. Given name (also called forename) is used
            to differentiate from the surname or family name.
        Surname:
          type: string
          description: Surname of the Party
        MiddleName:
          type: string
          description: Middle name of the Party
        Nickname:
          type: string
          description: Nickname of the Party
        EmiratesId:
          type: string
          description: Emirates ID number of the Party
        EmiratesIdExpiryDate:
          type: string
          format: date
          description: Emirates ID card expiry date
        DateOfBirth:
          type: string
          format: date
          description: Date of birth of the Party
        SourceOfIncome:
          type: string
        Salary:
          type: number
        Nationality:
          type: string
        ResidentialAddress:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.AEPartyIdentityAddressClaim
        MobileNumber:
          type: string
        Email:
          type: string
        MaritalStatus:
          type: string
        Salutation:
          type: string
        Language:
          type: string
        EmployerName:
          type: string
        EmploymentSinceDate:
          type: string
          format: date
        PowerofAttorney:
          type: boolean
        SalaryTransfer:
          type: boolean
        Profession:
          type: string
        UpdatedAt:
          type: string
          format: time
      additionalProperties: false
    AccountIdentifiers:
      type: array
      items:
        type: object
        properties:
          SchemeName:
            $ref: >-
              #/components/schemas/UAEAccountInformationAPI.AEExternalAccountIdentificationCode
          Identification:
            $ref: '#/components/schemas/UAEAccountInformationAPI.Identification_0'
          Name:
            $ref: '#/components/schemas/UAEAccountInformationAPI.Name_0'
        required:
          - SchemeName
          - Identification
        additionalProperties: false
    CreationDateTime:
      type: string
      pattern: .+\+04:00$
      format: date-time
      description: The resource creation date and time.
    FxQuoteIdType:
      type: string
      minLength: 1
      maxLength: 128
    LinksSelf:
      type: object
      required:
        - Self
      properties:
        Self:
          $ref: '#/components/schemas/Self'
      description: Links relevant to the resource
      additionalProperties: false
    Meta:
      type: object
      description: Metadata relevant to the resource
      additionalProperties: false
    OpeningStatusUpdateDateTime:
      type: string
      pattern: .+\+04:00$
      format: date-time
      description: The date and time the opening status was last updated.
    Self:
      type: string
      format: uri
      description: A link to the current resource
    UAEAccountInformationAPI.AEAccountStatusCode:
      type: string
      enum:
        - Active
        - Inactive
        - Dormant
        - Unclaimed
        - Deceased
        - Suspended
        - Closed
      description: >-
        Specifies the status of account resource in code form.


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


        * Inactive: The account is deemed not active by the LFI. Please refer to
        the

        [CBUAE
        Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)

        for qualification of Inactive status.


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

        for the definition of Dormant status.


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

        for the definition of Unclaimed status.


        * Deceased: The account holder has passed away.


        * Suspended: The account has been temporarily deactivated by the LFI for
        reasons such as

        suspicious activities or non-compliance with regulations. The account
        holder might

        be unable to access funds or perform transactions until the bank's
        requirements

        are met, and the suspension is lifted.


        * Closed: The account is closed
    UAEAccountInformationAPI.AEBranchAndFinancialInstitutionIdentification5_0:
      type: object
      required:
        - SchemeName
        - Identification
      properties:
        SchemeName:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.AEExternalFinancialInstitutionIdentificationCode
        Identification:
          $ref: '#/components/schemas/UAEAccountInformationAPI.Identification_1'
      description: >-
        Party that manages the account on behalf of the account owner, that is
        manages the registration and booking of entries on the account,
        calculates balances on the account and provides information about the
        account.
      additionalProperties: false
    UAEAccountInformationAPI.AECashAccount6_1:
      type: object
      properties:
        SchemeName:
          $ref: >-
            #/components/schemas/UAEAccountInformationAPI.AEExternalAccountIdentificationCode
        Identification:
          $ref: '#/components/schemas/UAEAccountInformationAPI.Identification_0'
        Name:
          $ref: '#/components/schemas/UAEAccountInformationAPI.Name_0'
      description: >-
        Account details of the Debtor in case the transaction is a Credit
        transaction.


        These are optional because there are situations where this cannot be
        populated for the following Credit transactions

        - cash deposits (no creditor account/agent)

        - cheques and DDs may not have this information at least during the
        process of clearing and sometimes (e.g. for agency banks) may not be
        reconciled ever

        - some corner situations with international payments

        - for refunds with card payments  (instead merchant information fields
        should be populated)
      additionalProperties: false
    UAEAccountInformationAPI.AEExternalAccountIdentificationCode:
      type: string
      enum:
        - IBAN
        - AccountNumber
      description: >-
        Name of the identification scheme for the account. Encoded with
        allowable values published in an external list.
    UAEAccountInformationAPI.AEExternalAccountSubTypeCode:
      type: string
      description: >-
        Specifies the sub type of account (product family group). Examples
        values include: CurrentAccount, Savings
      x-namespaced-enum:
        - CurrentAccount
        - Savings
    UAEAccountInformationAPI.AEExternalAccountTypeCode:
      type: string
      enum:
        - Retail
        - SME
        - Corporate
      description: Specifies the type of account (Retail, SME or Corporate).
    UAEAccountInformationAPI.AEExternalFinancialInstitutionIdentificationCode:
      type: string
      enum:
        - BICFI
        - Other
      description: >-
        * /accounts resource

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


        * /beneficiaries resource

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


        * /scheduled-payments resource

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


        * /standing-orders resource

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


        * /transactions resource

        Refers to the identification scheme for uniquely identifying the
        Creditor Agent.
    UAEAccountInformationAPI.AEPartyIdentityAddressClaim:
      type: object
      required:
        - Formatted
        - StreetAddress
        - Locality
        - Region
        - PostalCode
        - Country
      properties:
        Formatted:
          type: string
          description: The address number and street claim that has been verified.
        StreetAddress:
          type: string
          description: The address street claim that has been verified.
        Locality:
          type: string
          description: >-
            The address locality (village, town, city etc) claim that has been
            verified.
        Region:
          type: string
          description: The address region claim that has been verified.
        PostalCode:
          $ref: '#/components/schemas/UAEAccountInformationAPI.PostalCode'
        Country:
          $ref: '#/components/schemas/UAEAccountInformationAPI.CountryCode'
      description: >-
        Address object as per OpenID Connect Core 1.0 Address Claim

        [https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
      additionalProperties: false
    UAEAccountInformationAPI.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.
    UAEAccountInformationAPI.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
    UAEAccountInformationAPI.AccountId:
      type: string
      minLength: 1
      maxLength: 40
      description: >-
        A unique and immutable identifier produced by the LFI to identify the
        account resource.This identifier has no meaning to the account owner
        (User 1).
    UAEAccountInformationAPI.ActiveOrHistoricCurrencyCode_0:
      type: string
      pattern: ^[A-Z]{3,3}$
      description: >-
        Identification of the currency in which the account is held. A code
        allocated to a currency under an international currency identification
        scheme, as described in the latest edition of the international standard
        ISO 4217 'Codes for the representation of currencies and funds'.
    UAEAccountInformationAPI.AssuranceDetails:
      type: object
      required:
        - AssuranceType
        - AssuranceClassification
        - EvidenceRef
      properties:
        AssuranceType:
          type: string
          description: >-
            String denoting which part of the assurance_process the evidence
            fulfils
        AssuranceClassification:
          type: string
          description: >-
            String reflecting how the evidence has been classified or measured
            as required by the TrustFramework
        EvidenceRef:
          type: array
          items:
            $ref: '#/components/schemas/UAEAccountInformationAPI.EvidenceRef'
      description: Denoting the details about how the evidence complies with the policy
      additionalProperties: false
    UAEAccountInformationAPI.AssuranceProcess:
      type: object
      required:
        - Policy
        - Procedure
        - AssuranceDetails
      properties:
        Policy:
          type: string
          description: Representing the standard or policy that was followed.
        Procedure:
          type: string
          description: Representing a specific procedure from the policy that was followed.
        AssuranceDetails:
          type: array
          items:
            $ref: '#/components/schemas/UAEAccountInformationAPI.AssuranceDetails'
      description: >-
        Determines the assurance process that was followed. This reflects how
        the evidence meets the requirements of the TrustFramework and
        AssuranceLevel. The factual record of the evidence and the procedures
        followed are recorded in the evidence element, this element is used to
        cross reference the evidence to the AssuranceLevel followed

        OpenID Connect for Identity Assurance 1.0:
        [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)
      additionalProperties: false
    UAEAccountInformationAPI.CountryCode:
      type: object
      required:
        - CountryCode
      properties:
        CountryCode:
          type: string
          pattern: ^[A-Z]{2,2}$
          description: Nation with its own government, occupying a particular territory.
      additionalProperties: false
    UAEAccountInformationAPI.Description_0:
      type: string
      minLength: 1
      maxLength: 35
      description: Specifies the description of the account sub-type.
    UAEAccountInformationAPI.EvidenceMetadata:
      type: object
      required:
        - EvidenceClassification
      properties:
        EvidenceClassification:
          type: string
      description: >-
        Object indicating any meta data about the evidence that is required by
        the AssuranceProcess in order to demonstrate compliance with the
        TrustFramework. It has the following sub-elements
      additionalProperties: false
    UAEAccountInformationAPI.EvidenceRef:
      type: object
      required:
        - Txn
        - EvidenceMetadata
      properties:
        Txn:
          type: string
          description: Identifier referring to the txn used in the CheckDetails.
        EvidenceMetadata:
          $ref: '#/components/schemas/UAEAccountInformationAPI.EvidenceMetadata'
      description: Evidence being referred to
      additionalProperties: false
    UAEAccountInformationAPI.Identification_0:
      type: string
      minLength: 1
      maxLength: 400
      description: >-
        Identification for the account assigned by the LFI based on the Account
        Scheme Name. This identification is known by the User 1 account owner.
        For IBAN, refer to the ISO Standard 13616.
    UAEAccountInformationAPI.Identification_1:
      type: string
      minLength: 1
      maxLength: 35
      description: >-
        * /accounts resource

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


        * /beneficiaries resource

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


        * /scheduled-payments resource

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


        * /standing-orders resource

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


        * /transactions resource

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


        *  Notes:

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

        * BICFI: The BIC/SWIFT Code

        * Other: The ID; A Country Code followed by a Bank Code (4 character
        code).
    UAEAccountInformationAPI.MaturityDate:
      type: string
      format: date-time
      description: >-
        * Fixed Term Savings Account

        MaturityDate is the date on which the savings mature and the balance can
        be withdrawn by the User without penalty


        * All dates in the JSON payloads are represented in ISO 8601 date-time
        format. All date-time fields in responses must include the timezone. An
        example is: 2017-04-05T10:43:07+00:00
    UAEAccountInformationAPI.Name_0:
      type: string
      minLength: 1
      maxLength: 70
      description: >-
        The account name is the name or names of the User 1 account owner(s)
        represented at an account level, as displayed by the LFI's online
        channels. Note: The account name is not the product name or the nickname
        of the account.
    UAEAccountInformationAPI.Nickname:
      type: string
      minLength: 1
      maxLength: 70
      description: >-
        The nickname of the account, assigned by User 1 to provide an additional
        and easier means of identification of the account at the LFI.
    UAEAccountInformationAPI.OpeningDate:
      type: string
      format: date-time
      description: >-
        Date on which the account and its related basic services by LFI started
        to be operational for User 1. All dates in the JSON payloads are
        represented in ISO 8601 date-time format. All date-time fields in
        responses must include the timezone. An example is below:
        2017-04-05T10:43:07+00:00
    UAEAccountInformationAPI.PostalCode:
      type: object
      required:
        - PostalCode
      properties:
        PostalCode:
          type: string
          minLength: 5
          maxLength: 5
          description: >-
            Identifier consisting of a group of letters and/or numbers that is
            added to a postal address to assist the sorting of mail.
      additionalProperties: false
    UAEAccountInformationAPI.StatusUpdateDateTime:
      type: string
      format: date-time
      description: >-
        Date and time at which the account resource status was updated. All
        dates in the JSON payloads are represented in ISO 8601 date-time format.

        All date-time fields in responses must include the timezone. An example
        is below:

        2017-04-05T10:43:07+00:00
    UAEAccountInformationAPI.TrustFrameworkCode:
      type: string
      enum:
        - Undefined
      description: >-
        Identifies the trust framework used for verification. This consists of a
        set of rules and standards and sets out requirements so that
        organisations know what ‘good’ identity verification looks like.

        Trust Frameworks:
        [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
    UAEPaymentAPI.AEAddressTypeCode:
      type: string
      enum:
        - Business
        - Correspondence
        - Residential
      description: Specifies the nature of the Address.
    UAEPaymentAPI.AEBuildingNumber:
      type: string
      minLength: 1
      maxLength: 10
      description: Identifies the building number.
    UAEPaymentAPI.AEChargeBearerType1Code:
      type: string
      enum:
        - BorneByCreditor
        - BorneByDebtor
        - Shared
      description: >-
        Specifies which party/parties will bear the charges associated with the
        processing of the payment transaction.
    UAEPaymentAPI.AECity:
      type: string
      minLength: 1
      maxLength: 35
      description: Identifies the name of the city or town where the address is situated.
    UAEPaymentAPI.AECountryCode:
      type: string
      pattern: ^[A-Z]{2,2}$
      description: >-
        Indicates the country code in which the address is located (References
        ISO 3166-1 alpha-2).
    UAEPaymentAPI.AECreditorExternalAccountIdentificationCode:
      type: string
      enum:
        - IBAN
        - AccountNumber
      description: >-
        Name of the identification scheme, in a coded form as published in an
        external list.
    UAEPaymentAPI.AEDistrict:
      type: string
      minLength: 1
      maxLength: 35
      description: Identifies the district of a city.
    UAEPaymentAPI.AEExternalPaymentChargeTypeCode:
      type: string
      enum:
        - VAT
        - Fees
      description: Charge type, in a coded form.
    UAEPaymentAPI.AEFloorNumber:
      type: string
      minLength: 1
      maxLength: 10
      description: Identifies the building floor number.
    UAEPaymentAPI.AEIdentification:
      type: string
      minLength: 1
      description: >-
        Identification for the account assigned by the LFI based on the Account
        Scheme Name.

        This identification is known by the User account owner.
    UAEPaymentAPI.AEName:
      type: object
      properties:
        en:
          type: string
          maxLength: 70
          description: English value of the string
        ar:
          type: string
          maxLength: 70
          description: Arabic value of the string
      description: >-
        The Account Holder Name is the name or names of the Account owner(s)
        represented at the account level
      additionalProperties: false
    UAEPaymentAPI.AEPOBox:
      type: string
      minLength: 1
      maxLength: 10
      description: Identifies the POBox.
    UAEPaymentAPI.AEPostalCode:
      type: string
      minLength: 1
      maxLength: 10
      description: >-
        Identifies the postal code; a unique code assigned to a specific
        geographic area for efficient mail sorting and delivery purposes.
    UAEPaymentAPI.AERegion:
      type: string
      minLength: 1
      maxLength: 35
      description: Identifies the region.
    UAEPaymentAPI.AESecondaryNumber:
      type: string
      minLength: 4
      maxLength: 4
      description: 4 numbers representing the accurate location coordinates of the address
    UAEPaymentAPI.AEShortAddress:
      type: string
      minLength: 1
      maxLength: 8
      description: >-
        A short address consists of four letters: region code, branch code,
        division code, unique code and a four-digit number for the building.
    UAEPaymentAPI.AEStreetName:
      type: string
      minLength: 1
      maxLength: 70
      description: Identifies the street name or road.
    UAEPaymentAPI.AETradingName:
      type: object
      properties:
        en:
          type: string
          maxLength: 70
          description: English value of the string
        ar:
          type: string
          maxLength: 70
          description: Arabic value of the string
      description: |-
        The Trading Brand Name (if applicable) for the Creditor.
        Applicable to Payments.
      additionalProperties: false
    UAEPaymentAPI.AEUnitNumber:
      type: string
      minLength: 1
      maxLength: 10
      description: Identifies the unit or apartment number.
    UAEPaymentAPI.AEZipCode:
      type: string
      minLength: 1
      maxLength: 10
      description: >-
        Identifies the ZIP code; a unique code assigned to a specific geographic
        area for efficient mail sorting and delivery purposes.
  examples:
    CreateFXQuoteUnsignedRequest:
      summary: Create FX Quote Example - Unsigned Request
      description: >-
        Create an FX Quote for a AED to USD trade. The trade is a spot trade
        with a buy amount of 100 USD.
      value:
        Data:
          TradeType: Spot
          BuyCurrency: USD
          SellCurrency: AED
          Amount:
            Type: Buy
            Amount:
              Currency: USD
              Amount: '100.00'
          ContractIdentification: 54c2d2bd-92de-4dcd-8eb7-f48527a2f0a5
          Party:
            Claims:
              IdentityType: Person
              GivenName: Hamad
              Surname: Ali
              EmiratesId: 7841-1234-1234567-1
    CreateFXQuoteSignedRequest:
      summary: Create FX Quote Example - Signed Request
      description: >-
        Create an FX Quote for a AED to USD trade. The trade is a spot trade
        with a buy amount of 100 USD.
      value:
        iss: https://lfi.openfinanceapihub.ae
        exp: 1738848508
        nbf: 1738844908
        message:
          Data:
            TradeType: Spot
            BuyCurrency: USD
            SellCurrency: AED
            Amount:
              Type: Buy
              Amount:
                Currency: USD
                Amount: '100.00'
            ContractIdentification: 54c2d2bd-92de-4dcd-8eb7-f48527a2f0a5
            Party:
              Claims:
                IdentityType: Person
                GivenName: Hamad
                Surname: Ali
                EmiratesId: 7841-1234-1234567-1
    CreateFXQuoteUnsignedResponse:
      summary: Create FX Quote Example - Unsigned Response
      description: Quote response for a spot trade with a buy amount of 100 USD.
      value:
        Data:
          FxQuoteId: 1d747c7b-7285-43e2-bb26-f7d6f195177e
          BuyAmount:
            Currency: USD
            Amount: '100.00'
          SellAmount:
            Currency: AED
            Amount: '367.25'
          UnitCurrency: AED
          QuotedCurrency: USD
          RateType: Actual
          ExchangeRate: 0.272294
          ExpirationDateTime: '2025-08-24T14:15:22.001+04:00'
          UserIdentificationStatus: UserIdentified
        Links:
          Self: >-
            https://lfi.openfinanceapihub.ae/open-finance/fx/v2.0-draft2/fx-quotes/1d747c7b-7285-43e2-bb26-f7d6f195177e
        Meta: {}
    CreateFXQuoteSignedResponse:
      summary: Create FX Quote Example - Signed Response
      description: Quote response for a spot trade with a buy amount of 100 USD.
      value:
        iss: https://lfi.openfinanceapihub.ae
        exp: 1738848508
        nbf: 1738844908
        message:
          Data:
            FxQuoteId: 1d747c7b-7285-43e2-bb26-f7d6f195177e
            BuyAmount:
              Currency: USD
              Amount: '100.00'
            SellAmount:
              Currency: AED
              Amount: '367.25'
            UnitCurrency: AED
            QuotedCurrency: USD
            RateType: Actual
            ExchangeRate: 0.272294
            ExpirationDateTime: '2025-08-24T14:15:22.001+04:00'
            UserIdentificationStatus: UserIdentified
          Links:
            Self: >-
              https://lfi.openfinanceapihub.ae/open-finance/fx/v2.0-draft2/fx-quotes/1d747c7b-7285-43e2-bb26-f7d6f195177e
          Meta: {}
    ReadFXQuoteUnsignedResponse:
      summary: Read FX Quote Example - Unsigned Response
      description: Quote response for a spot trade with a buy amount of 100 USD.
      value:
        Data:
          FxQuoteId: 1d747c7b-7285-43e2-bb26-f7d6f195177e
          BuyAmount:
            Currency: USD
            Amount: '100.00'
          SellAmount:
            Currency: AED
            Amount: '367.25'
          UnitCurrency: AED
          QuotedCurrency: USD
          RateType: Actual
          ExchangeRate: 0.272294
          ExpirationDateTime: '2025-08-24T14:15:22.001+04:00'
          UserIdentificationStatus: UserIdentified
          Party:
            Claims:
              IdentityType: Person
              GivenName: Hamad
              Surname: Ali
              EmiratesId: 7841-1234-1234567-1
          Status: Pending
          CreationDateTime: '2025-08-24T14:05:22.001+04:00'
          StatusUpdateDateTime: '2025-08-24T14:05:22.001+04:00'
        Links:
          Self: >-
            https://lfi.openfinanceapihub.ae/open-finance/fx/v2.0-draft2/fx-quotes/1d747c7b-7285-43e2-bb26-f7d6f195177e
        Meta: {}
    ReadFXQuoteSignedResponse:
      summary: Read FX Quote Example - Signed Response
      description: Quote response for a spot trade with a buy amount of 100 USD.
      value:
        iss: https://lfi.openfinanceapihub.ae
        exp: 1738848508
        nbf: 1738844908
        message:
          Data:
            FxQuoteId: 1d747c7b-7285-43e2-bb26-f7d6f195177e
            BuyAmount:
              Currency: USD
              Amount: '100.00'
            SellAmount:
              Currency: AED
              Amount: '367.25'
            UnitCurrency: AED
            QuotedCurrency: USD
            RateType: Actual
            ExchangeRate: 0.272294
            ExpirationDateTime: '2025-08-24T14:15:22.001+04:00'
            UserIdentificationStatus: UserIdentified
            Party:
              Claims:
                IdentityType: Person
                GivenName: Hamad
                Surname: Ali
                EmiratesId: 7841-1234-1234567-1
            Status: Pending
            CreationDateTime: '2025-08-24T14:05:22.001+04:00'
            StatusUpdateDateTime: '2025-08-24T14:05:22.001+04:00'
          Links:
            Self: >-
              https://lfi.openfinanceapihub.ae/open-finance/fx/v2.0-draft2/fx-quotes/1d747c7b-7285-43e2-bb26-f7d6f195177e
          Meta: {}
    CreateAccountUnsignedRequest:
      summary: Create Account Opening Example - Unsigned Request
      description: >-
        Create an account opening request for a new account with party data
        provided through data sharing.
      value:
        Data:
          FxQuoteId: 1d747c7b-7285-43e2-bb26-f7d6f195177e
          Party:
            Claims:
              IdentityType: Person
              GivenName: Hamad
              Surname: Ali
              EmiratesId: 7841-1234-1234567-1
    CreateAccountSignedRequest:
      summary: Create Account Opening Example - Signed Request
      description: >-
        Create an account opening request for a new account with party data
        provided through data sharing.
      value:
        iss: https://lfi.openfinanceapihub.ae
        exp: 1738848508
        nbf: 1738844908
        message:
          Data:
            FxQuoteId: 1d747c7b-7285-43e2-bb26-f7d6f195177e
            Party:
              Claims:
                IdentityType: Person
                GivenName: Hamad
                Surname: Ali
                EmiratesId: 7841-1234-1234567-1
    ReadAccountOpeningAwaitingPartyDataUnsignedResponse:
      summary: Read Account Opening Example - AwaitingPartyData - Unsigned Response
      description: The account opening is pending the User providing additional data.
      value:
        Data:
          AccountId: 7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
          OpeningStatus: AwaitingPartyData
          OpeningStatusUpdateDateTime: '2021-01-01T00:00:00+04:00'
        Links:
          Self: >-
            https://lfi.openfinanceapihub.ae/accounts/7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
          AccountOpeningRedirectUrl: >-
            https://lfi.example.ae/accounts?account-id=7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
        Meta: {}
    ReadAccountOpeningAwaitingPartyDataSignedResponse:
      summary: Read Account Opening Example - AwaitingPartyData - Signed Response
      description: The account opening is pending the User providing additional data.
      value:
        iss: https://lfi.openfinanceapihub.ae
        exp: 1738848508
        nbf: 1738844908
        message:
          Data:
            AccountId: 7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
            OpeningStatus: AwaitingPartyData
            OpeningStatusUpdateDateTime: '2021-01-01T00:00:00+04:00'
          Links:
            Self: >-
              https://lfi.openfinanceapihub.ae/accounts/7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
            AccountOpeningRedirectUrl: >-
              https://lfi.example.ae/accounts?account-id=7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
          Meta: {}
    ReadAccountOpeningCreatedUnsignedResponse:
      summary: Read Account Opening Example - Created - Unsigned Response
      description: >-
        The account has been successfully opened and account details are
        available for use.
      value:
        Data:
          AccountId: 7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
          AccountHolderName: Hamad Ali
          AccountIdentifiers:
            - SchemeName: IBAN
              Identification: AE460090000000123456789
          OpeningStatus: Created
          OpeningStatusUpdateDateTime: '2021-01-01T01:00:00+04:00'
        Links:
          Self: >-
            https://lfi.openfinanceapihub.ae/accounts/7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
        Meta: {}
    ReadAccountOpeningCreatedSignedResponse:
      summary: Read Account Opening Example - Created - Signed Response
      description: >-
        The account has been successfully opened and account details are
        available for use.
      value:
        iss: https://lfi.openfinanceapihub.ae
        exp: 1738848508
        nbf: 1738844908
        message:
          Data:
            AccountId: 7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
            AccountHolderName: Hamad Ali
            AccountIdentifiers:
              - SchemeName: IBAN
                Identification: AE460090000000123456789
            OpeningStatus: Created
            OpeningStatusUpdateDateTime: '2021-01-01T01:00:00+04:00'
          Links:
            Self: >-
              https://lfi.openfinanceapihub.ae/accounts/7a79d7f0-4054-4ee8-bce2-ef696f1a7a31
          Meta: {}
  securitySchemes:
    TPPOAuth2Security:
      type: oauth2
      description: >-
        TPP confidential client authorization with the LFI to stage a consent.
        **Please refer to [OpenID FAPI Security Profile 1.0 -Part 2
        Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
        - 5.2.2 point 14 - shall authenticate the confidential client using one
        of the following methods private_key_jwt and [OpenID Connect Core
        1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
        9. Client Authentication private_key_jwt**
      flows:
        clientCredentials:
          tokenUrl: https://authserver.example/token
          scopes:
            fx: >-
              Ability to get FX quotes and dynamically open account for funding
              deposit
servers:
  - url: /open-finance/fx/v2.0-draft2
    description: ''
    variables: {}

...