Awesome api app render macro | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
...