openapi: 3.0.0 info: title: Account and Transaction API Specification Account Access Consents ATM API description: 'Swagger for Account and Transaction API Specification. **Please Note**: There are no optional fields, if a field is not marked as “Required” it is a Conditional field. ' termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence url: https://www.openbanking.org.uk/open-licence version: 4.0.1 servers: - url: /open-banking/v4.0/aisp tags: - name: ATM description: Endpoint for getting ATM data paths: /atms: get: tags: - ATM description: Gets a list of all `ATM` objects. parameters: - name: If-Modified-Since type: string description: Used for conditional request, to retrieve data only if modified since a given date in: header required: false - name: If-None-Match type: string description: Used for conditional request, to retrieve data only if the given Etag value does not match in: header required: false responses: '200': description: Successful response with a list of `ATM` data headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header default: max-age=31536000 Etag: type: string description: A unique ID identifying whether this resource has changed Cache-Control: type: string description: Describes how long this response can be cached default: max-age=28800 X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff schema: type: object properties: meta: title: Meta data type: object properties: LastUpdated: type: string format: date-time TotalResults: type: integer Agreement: type: string enum: - Use of the APIs and any related data will be subject to the terms of the Open Licence and subject to terms and conditions License: description: Open Banking License type: string format: uri enum: - https://www.openbanking.org.uk/open-licence TermsOfUse: description: Open Banking Terms of Use type: string format: uri enum: - https://www.openbanking.org.uk/terms required: - LastUpdated - TotalResults - Agreement - License - TermsOfUse additionalProperties: false data: type: array items: title: ATM type: object properties: Organisation: description: Organisation type: object properties: ParentOrganisation: description: Parent organisation type: object properties: LEI: description: The LEI ID of the organisation type: string pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$ BIC: description: The BIC from the organisation type: string pattern: '[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?' OrganisationName: description: Organisation Name type: object properties: LegalName: description: Legal Name of the organisation type: string minLength: 1 maxLength: 35 required: - LegalName additionalProperties: false required: - OrganisationName additionalProperties: false Brand: description: Brand type: object properties: TrademarkIPOCode: description: 'The Intellectual Property Office (IPO) is the official body responsible for intellectual property (IP) rights including patents, designs, trademarks and copyright. (Code: UK or EU only)' type: string enum: - UK - EU TrademarkID: description: 'The trademark number that has been registered with the Intellectual Property Office. Note: The 2 letter IPO prefix should be omitted' type: string minLength: 1 maxLength: 35 required: - TrademarkIPOCode - TrademarkID additionalProperties: false required: - ParentOrganisation - Brand additionalProperties: false BranchIdentification: description: Unique and unambiguous identification of a retail branch of a financial institution type: string minLength: 1 maxLength: 35 ATMID: description: ATM terminal device identification for the acquirer and the issuer type: string minLength: 1 maxLength: 35 LocationCategory: description: Indicates the environment of the ATM type: string enum: - Airport - BankSpecialisedOutlet - BranchExternal - BranchInternal - BranchLobby - BureauDeChange - CoachStation - CommercialSpaceInternal - ConvenienceStore - ExhibitionCentre - FactoryOrOffice - FillingStation - FinancialInstitution - GovernmentOffice - Hospital - Hotel - KioskPod - LeisureCentre - PleasurePark - PublicHouse - RailwayStation - RemoteUnit - RetailerDepartmentStore - RetailerOutlet - SeaportTerminal - ServiceStation - ShoppingCentreExternal - ShoppingCentreInternal - StorageDepot - SupermarketExternal - SupermarketInternal - UndergroundRailwayStation - UniversityOrCollege SiteID: description: Site identifying code, where ATM is located type: string minLength: 1 maxLength: 35 SiteName: description: Site identifying name, where ATM is located type: string minLength: 1 maxLength: 35 Address: description: Postal Address type: object properties: StreetName: description: Name of a street or thoroughfare type: string minLength: 1 maxLength: 70 BuildingNumberOrName: description: Number or Name that identifies the position of a building on a street type: string minLength: 1 maxLength: 350 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 type: string minLength: 1 maxLength: 16 OptionalAddressField: description: Directions for customers type: string minLength: 1 maxLength: 350 TownName: description: Name of a built-up area, with defined boundaries, and a local government type: string minLength: 1 maxLength: 35 CountrySubDivision: description: Identifies a subdivision of a country such as state, region, county type: string minLength: 1 maxLength: 35 Country: description: Nation with its own government type: string pattern: '[A-Z]{2}' required: - StreetName - PostCode - Country additionalProperties: false GeographicLocation: description: Geographic Coordinates type: object properties: Latitude: description: The Latitude measured in decimal format according to ISO 213 type: string pattern: ^-?\d{1,3}\.\d{1,8}$ Longitude: description: The longitude measured in decimal format according to ISO 213 type: string pattern: ^-?\d{1,3}\.\d{1,8}$ required: - Latitude - Longitude additionalProperties: false AccessibilityTypes: description: Information about the accessibility type: array uniqueItems: true items: description: Information about the accessibility type: string enum: - AudioCashMachine - AutomaticDoors - ChairAccess - DriveThru - ExternalRamp - InductionLoop - InternalRamp - LevelAccess - LowerLevelCounter - WheelchairAccess SupportedLanguages: description: Languages that the ATM supports type: array items: description: must be ISO 693-2 codes type: string minItems: 1 ATMServices: description: Information about ATM services type: array uniqueItems: true minItems: 1 items: description: Information about ATM services type: string enum: - Balance - BillPayments - CashDeposits - CashWithdrawal - CharityDonation - ChequeBookRequest - ChequeDeposits - FastCash - MiniStatement - MobileBankingRegistration - MobilePaymentRegistration - MobilePhoneTopUp - OrderStatement - PINActivation - PINChange AdditionalATMServices: description: ATM Service Description type: array items: description: maxLength 350 text type: string minLength: 1 maxLength: 350 Currency: description: Defines currency type available for dispense type: array uniqueItems: true minItems: 1 items: description: Active or Historic Currency Code type: string pattern: '[A-Z]{3}' MinimumValueDispensed: description: Minimum currency denominations usually available type: string enum: - £5 - £10 - £20 - £50 - £100 required: - Organisation - ATMID - Address - GeographicLocation - SupportedLanguages - ATMServices - Currency additionalProperties: false required: - meta - data additionalProperties: false '400': description: You have sent a request which could not be understood. headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff Status Code: type: integer description: The HTTP status code defining the error default: 400 schema: title: 400 Error object type: object properties: status: type: string enum: - '400' title: type: string enum: - Bad request description: type: string enum: - You have sent a request which could not be understood. required: - status - title - description additionalProperties: false '408': description: Your client has failed to submit a request, and a timeout has occurred. headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff Status Code: type: integer description: The HTTP status code defining the error default: 400 schema: title: 408 Error object type: object properties: status: type: string enum: - '408' title: type: string enum: - Client timeout description: type: string enum: - Your client has failed to submit a request, and a timeout has occurred. required: - status - title - description additionalProperties: false '429': description: You have requested this resource too often. Slow down. headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff Status Code: type: integer description: The HTTP status code defining the error default: 400 schema: title: 429 Error object type: object properties: status: type: string enum: - '429' title: type: string enum: - Too many requests description: type: string enum: - You have requested this resource too often. Slow down. required: - status - title - description additionalProperties: false '500': description: An error occurred on the server. No further information is available. headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff Status Code: type: integer description: The HTTP status code defining the error default: 400 schema: title: 500 Error object type: object properties: status: type: string enum: - '500' title: type: string enum: - Internal server error description: type: string enum: - An error occurred on the server. No further information is available. required: - status - title - description additionalProperties: false '503': description: The service is temporarily unavailable. headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff Status Code: type: integer description: The HTTP status code defining the error default: 400 schema: title: 503 Error object type: object properties: status: type: string enum: - '503' title: type: string enum: - Service temporarily unavailable description: type: string enum: - The service is temporarily unavailable. required: - status - title - description additionalProperties: false default: description: A standard error response. headers: Strict-Transport-Security: type: string description: HTTPS strict transport security header X-Frame-Options: type: string description: Prevent this request from being loaded in any iframes default: DENY X-Content-Type-Options: type: string description: Ensures each page has a content type and prevents browsers from doing MIME type sniffing default: nosniff Status Code: type: integer description: The HTTP status code defining the error default: 400 schema: title: Error object type: object properties: status: description: This corresponds to the HTTP status code type: string title: description: A short title of the type of error type: string description: description: Further details describing the error type: string required: - status - title - description additionalProperties: false head: tags: - ATM description: Gets header information on the current set of `ATM` data parameters: - name: If-Modified-Since type: string description: Used for conditional request, to retrieve data only if modified since a given date in: header required: false - name: If-None-Match type: string description: Used for conditional request, to retrieve data only if the given Etag value does not match in: header required: false responses: default: description: No response schema: title: No response type: object properties: {} components: securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: tokenUrl: https://authserver.example/token scopes: accounts: Ability to read Accounts information PSUOAuth2Security: type: oauth2 description: OAuth flow, it is required when the PSU needs to perform SCA with the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU flows: authorizationCode: authorizationUrl: https://authserver.example/authorization tokenUrl: https://authserver.example/token scopes: accounts: Ability to read Accounts information