Documentation
Documentation
https://openbankinguk.github.io/read-write-api-site3/v4.0.1/
RateLimits
https://raw.githubusercontent.com/api-evangelist/open-banking-uk/refs/heads/main/rate-limits/rate-limits.yml
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