Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Awesome api app render macro
methodPatchColormethodPostColor
authHeaderName
linksColor#0052cc
showInfotrue
allowSpecUrlLoadfalse
primaryColor#0052CC
schemaStyletable
methodGetColor#0065FF
authHeaderValue
methodPutColor#6554c0
generalThemeconfluence_light
allowTryfalse
layoutHeight800
allowAdvancedSearchtrue
codeBg#F4F5F7
methodHeadColor#ffab00
navHoverTextColor
showComponentstrue
allowServerSelectiontrue
methodPatchColor#ffab00
textColor#172B4D
#ffab00navBgColor#FAFBFC
codeFg#172B4D
navTextColor#172B4D
fontSizedefault
sortEndpointsBymethod
usePathInNavBarfalse
navAccentColor#6554C0
methodDeleteColor#ff5630
allowAuthenticationfalse
headerColor#fffallowAuthenticationfalse
bgColor#fff
allowSearchtrue
sortTagstrue
methodPostColor#36b37e
themelight
#36b37eauthTypeNone
inlineCodeFg#6554C0
resourceContentTypejson
showHeaderfalse
allowSpecFileLoadfalse
inlineCodeBg#F4F5F7
renderStyleread
layoutcolumn
headingText
navItemSpacingdefault
infoDescriptionHeadingsInNavbartrue
specUrl
navHoverBgColor
resourceTypeCONTENT
openapi: 3.0.0
info:
  title: UAE ATM API
  description: '## UAE Open Finance ATM API Specification'
  version: v2.0-draft2
  contact:
    email: openfinance@cbuae.gov.ae
tags:
  - name: ATM
    description: ATM operations and resources
paths:
  /atms:
    get:
      tags:
        - ATM
      operationId: getAtms
      summary: Retrieve ATM
      description: Retrieve all ATM
      parameters:
        - $ref: '#/components/parameters/Authorization'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/AEReadAtms1'
            application/json:
              schema:
                $ref: '#/components/schemas/AEReadAtms1'
        "400":
          $ref: "#/components/responses/400Error"
        "401":
          $ref: "#/components/responses/401Error"
        "403":
          $ref: "#/components/responses/403Error"
        "405":
          $ref: "#/components/responses/405Error"
        "406":
          $ref: "#/components/responses/406Error"
        "415":
          $ref: "#/components/responses/415Error"
        "429":
          $ref: "#/components/responses/429Error"
        "500":
          $ref: "#/components/responses/500Error"
components:
  schemas:
    AEError:
      type: object
      required:
        - Code
        - Message
      properties:
        Code:
          allOf:
            - $ref: '#/components/schemas/AEErrorCode'
          description: Low level textual error code, e.g., 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:
        - GenericError
    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
    AEReadAtms1:
      properties:
        Meta:
          title: Meta data
          type: object
          properties:
            LastUpdatedDateTime:
              type: string
              format: date-time
            TotalRecords:
              type: integer
          required:
            - LastUpdatedDateTime
            - TotalRecords
          additionalProperties: false
        Data:
          description: List of ATMs
          type: array
          items:
            properties:
              LFIId:
                description: LFI identification.
                title: LFIId
                type: string
                minLength: 1
                maxLength: 36
              LFIBrandId:
                description: LFI identification for a brand - that an LFI uses to market its products or services to a User
                title: LFIBrandId
                type: string
                minLength: 1
                maxLength: 140
              ATMId:
                description: ATM terminal device identification for the LFI and the issuer.
                title: ATMId
                type: string
                minLength: 1
                maxLength: 36
              SupportedLanguages:
                description: Identification of the language name according to the ISO 639-1 codes. The type is validated by the list of values coded with two alphabetic characters, defined in the standard.
                title: SupportedLanguages
                type: array
                items:
                  description: Identification of the language name according to the ISO 639-1 codes. The type is validated by the list of values coded with two alphabetic characters, defined in the standard.
                  type: string
                  pattern: "[a-z]{2}"
              Services:
                description: Describes the type of transaction available for a customer on an ATM.
                title: Services
                type: array
                items:
                  description: Describes the type of transaction available for a customer on an ATM.
                  type: string
                  enum:
                    - Balance
                    - BillPayments
                    - CashDeposits
                    - CharityDonation
                    - ChequeDeposits
                    - CashWithdrawal
                    - EnvelopeDeposit
                    - FastCash
                    - MobileBankingRegistration
                    - MobilePaymentRegistration
                    - MobilePhoneTopUp
                    - OrderStatement
                    - Other
                    - PINActivation
                    - PINChange
                    - PINUnblock
                    - MiniStatement
              Accessibility:
                description: Indicates Types of Accessibility
                title: Accessibility
                type: array
                items:
                  description: Indicates Types of Accessibility
                  type: string
                  enum:
                    - AudioCashMachine
                    - AutomaticDoors
                    - ExternalRamp
                    - InductionLoop
                    - InternalRamp
                    - LevelAccess
                    - LowerLevelCounter
                    - Other
                    - WheelchairAccess
              IsAccess24Hour:
                description: Indicates that the ATM is available for use by customers 24 hours per day
                title: IsAccess24Hour
                type: boolean
              Availability:
                description: Indicates the availability status of the ATM
                type: object
                title: Availability 
                properties:
                  Status:
                    description: Current operational status of the ATM
                    type: string
                    enum:
                      - Available
                      - Unavailable
                      - UnderMaintenance
                  OperatingHours:
                    type: array
                    items:
                      properties:
                        Days:
                          type: array
                          items:
                            type: string
                            enum:
                              - Monday
                              - Tuesday
                              - Wednesday
                              - Thursday
                              - Friday
                              - Saturday
                              - Sunday
                        OpenTime:
                          type: string
                          pattern: "^([0-1][0-9]|2[0-3]):[0-5][0-9]$"
                        CloseTime:
                          type: string
                          pattern: "^([0-1][0-9]|2[0-3]):[0-5][0-9]$"
                      required:
                        - Days
                        - OpenTime
                        - CloseTime
              SupportedCurrencies:
                description: All ISO 4217 defined currency supported by the ATM.
                title: SupportedCurrencies
                type: array
                items:
                  description: ISO 4217 defined currency
                  type: string
                  pattern: "[A-Z]{3}"
                minItems: 1
              MinimumPossibleAmount:
                $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
              MaximumPossibleAmount:
                $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
              Notes:
                description: Summary description of the ATM.
                title: Note
                type: array
                items:
                  description: maxLength 2000 text
                  type: string
                  minLength: 1
                  maxLength: 2000
              Branch:
                description: Information that locates and identifies a specific branch of a LFI.
                type: object
                title: Branch
                properties:
                  SchemeName:
                    description: The name of the identification scheme for uniquely identifying the branch of a LFI.
                    type: string
                    enum:
                      - BICFI
                      - Other
                  Identification:
                    description: Unique and unambiguous identification of a branch of a LFI.
                    title: Identification
                    type: string
                    minLength: 1
                    maxLength: 36
                additionalProperties: false
              Location:
                description: Location of the ATM.
                type: object
                title: Location
                required:
                  - PostalAddress
                  - GeoLocation
                properties:
                  LocationCategory:
                    description: Indicates the environment of the ATM.
                    title: LocationCategory
                    type: array
                    items:
                      description: Indicates the environment of the ATM.
                      type: string
                      enum:
                        - BranchExternal
                        - BranchInternal
                        - BranchLobby
                        - Other
                        - RetailerOutlet
                        - RemoteUnit
                  Site:
                    description: Used by the LFI internally to identify the location of an ATM.
                    type: object
                    title: Site
                    properties:
                      Identification:
                        description: ATM site identification for the LFI.
                        title: Identification
                        type: string
                        minLength: 1
                        maxLength: 36
                      Name:
                        description: ATM site name as used by LFI.
                        title: Name
                        type: string
                        minLength: 1
                        maxLength: 140
                    additionalProperties: false
                  PostalAddress:
                    description: Information that locates and identifies a specific address, as defined by postal services or in free format text.
                    type: object
                    title: PostalAddress
                    properties:
                      AddressLine:
                        description: Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.
                        title: AddressLine
                        type: array
                        items:
                          description: maxLength 70 text
                          type: string
                          minLength: 1
                          maxLength: 70
                        minItems: 0
                        maxItems: 7
                      BuildingNumber:
                        description: Name or Number that identifies the position of a building on a street.
                        title: BuildingNumber
                        type: string
                        minLength: 1
                        maxLength: 360
                      StreetName:
                        description: Name of a street or thoroughfare.
                        title: StreetName
                        type: string
                        minLength: 1
                        maxLength: 70
                      TownName:
                        description: Name of a built-up area, with defined boundaries, and a local government.
                        title: TownName
                        type: string
                        minLength: 1
                        maxLength: 36
                      CountrySubDivision:
                        description: Identifies a subdivision of a country, for instance state, region, county.
                        title: CountrySubDivision
                        type: array
                        items:
                          description: maxLength 35 text
                          type: string
                          minLength: 1
                          maxLength: 36
                        minItems: 0
                        maxItems: 2
                      Country:
                        description: Nation with its own government, occupying a particular territory.
                        title: Country
                        type: string
                        pattern: "[A-Z]{2}"
                      PostCode:
                        description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
                        title: PostCode
                        type: string
                        minLength: 1
                        maxLength: 16
                    additionalProperties: false
                  GeoLocation:
                    $ref: '#/components/schemas/GeoLocation'
                additionalProperties: false
              ATMFee:
                type: array
                description: |
                  Details of fees applicable when a cardholder uses the ATM
                items:
                  type: object
                  required:
                    - Type
                  properties:
                    Type:
                      type: string
                      description: The type of cross-bank ATM fee.
                      enum:
                        - Withdrawal
                        - BalanceInquiry
                        - MiniStatement
                        - PINChange
                        - CashDeposit
                        - CardlessWithdrawal
                        - InternationalWithdrawal
                        - CrossBankWithdrawal
                        - OverLimit
                        - DeclinedTransaction
                        - EmergencyCashWithdrawal
                        - ForeignATMUsage
                        - ServiceDenial
                        - FastCashWithdrawal
                        - NetworkSurcharge
                        - ForeignExchange
                        - DomesticCrossBank
                        - InternationalCrossBank
                        - Other
                    Amount:
                      $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
                    Percentage:
                      type: number
                      description: Percentage-based fee applied to the transaction amount (if applicable).
                    ApplicableNetworks:
                      type: array
                      description: List of ATM networks where the cross-bank fee applies.
                      items:
                        type: string
                        enum:
                          - Visa
                          - Mastercard
                          - AmericanExpress
                          - Diners
                          - Other
                    Conditions:
                      type: string
                      description: |
                        Conditions under which the fee applies (e.g., number of free transactions allowed, 
                        withdrawal limits, special partnerships).
                      example: "Fee applies after the first 3 free withdrawals per month."
            required:
              - ATMId
              - LFIId
              - LFIBrandId
              - SupportedCurrencies
              - Location
          additionalProperties: false
          minItems: 1
      required:
        - Meta
        - Data
      additionalProperties: false
    GeoLocation:
      type: "object"
      description: "GPS to identify the whereabouts of the ATM."
      required:
        - Latitude
        - Longitude
      properties:
        Latitude:
          type: "string"
          description: "latitude"
        Longitude:
          type: "string"
          description: "longitude"
    AEActiveOrHistoricCurrencyAndAmount_0:
      type: object
      required:
        - Amount
        - Currency
      description: >-
        This is the value of the amount in the currency
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
      additionalProperties: false
    AEActiveCurrencyAndAmount_SimpleType:
      description: >-
        A number of monetary units specified in an active currency where the
        unit of currency is explicit and compliant with ISO 4217.
      type: string
      pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
    ActiveOrHistoricCurrencyCode_0:
      description: >-
        Identification of the currency in which the account is held. A code
        allocated to a currency under an international currency identification
        scheme, as described in the latest edition of the international standard
        ISO 4217 'Codes for the representation of currencies and funds'.
      type: string
      pattern: ^[A-Z]{3,3}$
      example: AED
  responses:
    403Error:
      description: Forbidden
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
    405Error:
      description: Method Not Allowed
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    406Error:
      description: Not Acceptable
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    415Error:
      description: Unsupported Media Type
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    429Error:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Number in seconds to wait
          schema:
            type: integer
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          schema:
            type: string
    500Error:
      description: Internal Server Error
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    400Error:
      description: Bad request
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
  parameters:
    Authorization:
      name: authorization
      in: header
      required: true
      description: An authorization Token as per https://tools.ietf.org/html/rfc6750
      schema:
        type: string
servers:
  - url: /open-finance/atm/v2.0-draft2

Attachments

The Product ATM Data OpenAPI description is attached, together with a spreadsheet that lists all properties by operation.

View file
nameuae-atm-openapi.yaml