Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Awesome api app render macro
authHeaderName
linksColor#0052cc
showInfotrue
allowSpecUrlLoadfalse
primaryColor#0052CC
schemaStyletable
methodGetColor#0065FF
authHeaderValue
methodPutColor#6554c0
generalThemeconfluence_light
allowTrytrue
layoutHeight800
allowAdvancedSearchtrue
codeBg#F4F5F7
methodHeadColor#ffab00
navHoverTextColor
showComponentstrue
allowServerSelectiontrue
textColor#172B4D
methodPatchColor#ffab00
navBgColor#FAFBFC
codeFg#172B4D
navTextColor#172B4D
fontSizedefault
sortEndpointsBymethod
usePathInNavBarfalse
navAccentColor#6554C0
methodDeleteColor#ff5630
headerColor#fff
allowAuthenticationfalse
bgColor#fff
allowSearchtrue
sortTagstrue
themelight
methodPostColor#36b37e
authTypeNone
inlineCodeFg#6554C0
resourceContentTypeyaml
showHeaderfalse
allowSpecFileLoadfalse
inlineCodeBg#F4F5F7
renderStyleread
layoutcolumn
headingText
navItemSpacingdefault
infoDescriptionHeadingsInNavbartrue
specUrlhttps://openfinanceuae.atlassian.net/wiki/download/attachments/101384275/uae-confirmation-of-payee-openapi.yaml?api=v2
navHoverBgColor
resourceTypeCONTENT
openapi: 3.0.0
info:
  title: UAE Confirmation of Payee API
  description: '## UAE Open Finance Confirmation of Payee API Specification'
  version: v1.01
tags:
  - name: Discovery Operations
    description: Discovery operations and resources
  - name: Confirmation Operations
    description: Payee confirmation operations and resources
paths:
  /confirmation:
    post:
      tags:
        - Confirmation Operations
      operationId: ConfirmationOfPayeeConfirmation_signedConfirmationRequest
      summary: Confirm the account details are correct based on the parameters supplied
      description: >-
        Provide the properties that can be used to verify the payee account.


        At version 1.0.0 this will be the account name and the Creditor Account
        IBAN. Future version of this API may support verification through other
        identifiers.


        An empty response will be returned if the Payee account holder has
        opted-out of the Confirmation of Payee service.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: Confirmation of Payee operation completed with name matching result
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                $ref: '#/components/schemas/NameConfirmationResponseBodySigned'
        '204':
          description: >-
            Account holder has opted-out of Confirmation of Payee and no data is
            returned
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '400':
          description: Bad request
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
        '401':
          description: Unauthorized
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
        '404':
          description: Not found
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '405':
          description: Method Not Allowed
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '406':
          description: Not Acceptable
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '415':
          description: Unsupported Media Type
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '429':
          description: Too Many Requests
          headers:
            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/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              $ref: '#/components/schemas/NameConfirmationRequestBodySigned'
      security:
        - TPPOAuth2Security:
            - openid
            - confirmation-of-payee
  /discovery:
    post:
      tags:
        - Discovery Operations
      operationId: ConfirmationOfPayeeDiscovery_signedDiscoveryRequest
      summary: Discover the LFI that will confirm the payee attributes
      description: >-
        Before a Confirmation of Payee (CoP) operation takes place the TPP will
        need to resolve the LFI that will service the account properties
        request. This requirement is based on the separation of concerns
        implemented in the OFP, which ensures that the APIs for a given LFI are
        always physically separated.


        At version 1.0.0 the TPP will call this endpoint with the Creditor
        Account IBAN, which will be used to resolve the correct URL with which
        to make the CoP operation.
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/x-customer-user-agent'
        - $ref: '#/components/parameters/x-fapi-auth-date'
        - $ref: '#/components/parameters/x-fapi-customer-ip-address'
        - $ref: '#/components/parameters/x-fapi-interaction-id'
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-fapi-interaction-id:
              required: false
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                $ref: >-
                  #/components/schemas/DiscoverConfirmationSourceResponseBodySigned
        '400':
          description: Bad request
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
        '401':
          description: Unauthorized
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
          content:
            application/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
        '404':
          description: Not found
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '405':
          description: Method Not Allowed
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '406':
          description: Not Acceptable
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '415':
          description: Unsupported Media Type
          headers:
            x-fapi-interaction-id:
              required: true
              description: An RFC4122 UID used as a correlation id.
              schema:
                type: string
        '429':
          description: Too Many Requests
          headers:
            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/jwt:
              schema:
                $ref: '#/components/schemas/AEErrorSignedResponse'
      requestBody:
        required: true
        content:
          application/jwt:
            schema:
              $ref: '#/components/schemas/DiscoverConfirmationSourceRequestBodySigned'
      security:
        - TPPOAuth2Security:
            - openid
            - confirmation-of-payee
components:
  parameters:
    Authorization:
      name: authorization
      in: header
      required: true
      description: An Access Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
    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:
    AEAccountConfirmationRequest:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEAccountConfirmationRequestProperties'
      additionalProperties: false
    AEAccountConfirmationRequestProperties:
      type: object
      required:
        - SchemeName
        - Identification
        - Name
      properties:
        SchemeName:
          type: string
          enum:
            - IBAN
          description: >-
            Name of the identification scheme, in a coded form as published in
            an external list.
        Identification:
          type: string
          minLength: 1
          maxLength: 34
          description: >-
            Identification for the account assigned by the LFI based on the
            Account Scheme Name, as understood by the Debtor.
        Name:
          $ref: '#/components/schemas/AEAccountNameConfirmationProperties'
      description: Properties to request a the Confirmation of Payee
      additionalProperties: false
    AEAccountConfirmationResponse:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEAccountConfirmationResponseProperties'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEAccountConfirmationResponseProperties:
      type: object
      required:
        - NameMatchIndicator
      properties:
        NameMatchIndicator:
          $ref: '#/components/schemas/AEAccountNameMatchIndicators'
        MaskedName:
          type: string
          minLength: 1
          maxLength: 140
          description: >-
            The masked matched account name. This is provided to allow the User
            to review the account name return from the Confirmation operation.
        Name:
          type: string
          minLength: 1
          maxLength: 140
          description: >-
            The account name returned by the LFI. This will be used if the User
            chooses to proceed with payment when the account name does not
            match.


            This property is only returned when AccountNameMatchIndicator is
            equal to ConfirmationOfPayee.No.
      additionalProperties: false
    AEAccountNameConfirmationProperties:
      oneOf:
        - $ref: '#/components/schemas/AEPersonalAccountNameConfirmationProperties'
        - $ref: '#/components/schemas/AEBusinessAccountNameConfirmationProperties'
    AEAccountNameMatchIndicators:
      type: string
      enum:
        - ConfirmationOfPayee.Yes
        - ConfirmationOfPayee.No
      description: >-
        Indicator for whether the payee name is matched with the account name
        held at the LFI
    AEBusinessAccountNameConfirmationProperties:
      type: object
      required:
        - BusinessName
      properties:
        BusinessName:
          type: string
          minLength: 1
          maxLength: 140
          description: The business name of the account holder, as understood by the Debtor
      description: The properties required to verify a business account
      additionalProperties: false
    AEConfirmationDiscovery:
      type: object
      required:
        - SchemeName
        - Identification
      properties:
        SchemeName:
          type: string
          enum:
            - IBAN
          description: >-
            Name of the identification scheme, in a coded form as published in
            an external list.
        Identification:
          type: string
          minLength: 1
          maxLength: 34
          description: >-
            Identification for the account assigned by the LFI based on the
            Account Scheme Name, as understood by the Debtor.
      additionalProperties: false
    AEConfirmationDiscoveryRequest:
      type: object
      required:
        - Data
      properties:
        Data:
          $ref: '#/components/schemas/AEConfirmationDiscovery'
      additionalProperties: false
    AEConfirmationDiscoveryResponse:
      type: object
      required:
        - Data
        - Links
        - Meta
      properties:
        Data:
          $ref: '#/components/schemas/AEConfirmationSourceProperties'
        Links:
          $ref: '#/components/schemas/LinksSelf'
        Meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties: false
    AEConfirmationSourceProperties:
      type: object
      required:
        - AuthorizationServerUrl
        - ResourceServerUrl
      properties:
        AuthorizationServerUrl:
          type: string
          minLength: 1
          maxLength: 500
          description: >-
            Authorization Server URL at which an Access Token to invoke the
            Confirmation of Payee operation should be sought
        ResourceServerUrl:
          type: string
          minLength: 1
          maxLength: 500
          description: >-
            Resource Server URL at which the Confirmation of Payee operation
            should be invoked
      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:
        - UAEOF.AccessToken.Unauthorized
        - UAEOF.AccessToken.InvalidScope
        - UAEOF.Consent.Revoked
        - UAEOF.Consent.TransientAccountAccessFailure
        - UAEOF.Consent.AccountTemporarilyBlocked
        - UAEOF.Consent.PermanentAccountAccessFailure
        - UAEOF.Consent.Invalid
        - UAEOF.JWS.InvalidSignature
        - UAEOF.JWS.Malformed
        - UAEOF.JWS.InvalidClaim
        - UAEOF.JWS.InvalidHeader
        - UAEOF.GenericRecoverableError
        - UAEOF.GenericError
        - UAEOF.JWE.DecryptionError
        - UAEOF.JWE.InvalidHeader
        - UAEOF.Event.UnexpectedEvent
        - UAEOF.Body.InvalidFormat
        - UAEOF.Resource.InvalidResourceId
        - UAEOF.Resource.InvalidFormat
        - UAEOF.Consent.BusinessRuleViolation
    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
    AEErrorSignedResponse:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      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/AEErrorResponse'
      description: Signed error response payload
      additionalProperties: false
    AEPersonalAccountNameConfirmationProperties:
      type: object
      required:
        - GivenName
        - LastName
      properties:
        GivenName:
          type: string
          minLength: 1
          maxLength: 70
          description: >-
            The given or first name of the account holder, as understood by the
            Debtor
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: >-
            The family or surname of the account holder, as understood by the
            Debtor
      description: The properties required to verify a personal account
      additionalProperties: false
    DiscoverConfirmationSourceRequestBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      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/AEConfirmationDiscoveryRequest'
      additionalProperties: false
    DiscoverConfirmationSourceResponseBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      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/AEConfirmationDiscoveryResponse'
      additionalProperties: false
    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
    NameConfirmationRequestBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      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/AEAccountConfirmationRequest'
      additionalProperties: false
    NameConfirmationResponseBodySigned:
      type: object
      required:
        - iss
        - exp
        - nbf
        - message
      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/AEAccountConfirmationResponse'
      additionalProperties: false
    Self:
      type: string
      format: uri
      description: A link to the current resource
  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:
            openid: Activates OpenID Connect Support
            confirmation-of-payee: Right to invoke a Confirmation of Payee operation
            accounts: Ability to read Accounts Information
            insurance: Right to read insurance policies
            tpp-onboarding: Right to onboard a TPP at the OFP
servers:
  - url: /open-finance/confirmation-of-payee/v1.01

Attachments

The Confirmation of Payee OpenAPI description is attached, together with a spreadsheet that lists all properties by operation.

...