Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue
stylenone

Version Control

VersionDateAuthorComments
3.0-draft118-Apr-2018OB R/W API Team

Initial draft for Version 3.0

  • Consolidated enumerations from child pages in Data Model / Enumerations
  • Removed Overview/Scope and Overview/Out of Scope sections
3.0-draft318-May-2018OB R/W API Team

Renamed "Account Request" to "Account Access Consent"

renamed AccountRequestId to ConsentId

In Endpoint section - removed reference to "must respond with a 404 (Not Found) for requests to that URL." and moved to Read Write API page.

3.0-draft4 OB R/W API Team

Draft4 changes:

  • Spelling errors
  • Clarified with sending the Basic permission and Detail permission together that "While it is duplication for a TPP to request a "Basic" permission code and the corresponding "Detail" permission code, it is not a malformed request, and the ASPSP must not reject solely on the basis of duplication."
  • Changed guidance to "The permissions array must contain at least ReadAccountsBasic or ReadAccountsDetail."

3.0-draft5

 OB R/W API Team

Errata:

  • Spelling errors
  • Removed reference to a non-existent section "- which is clarified in the "RTS and SCA Exemptions" section"
  • Updated Consent Elements/Permissions section to reflect /accounts/{AccountId}/statements/{StatementId}/transactions endpoint behaviour is also under control of ReadTransactions* permissions
  • Updated ISO 20022 OBAddressTypeCode code from "DeliverTo" to "DeliveryTo"

Draft5 changes:

  • Included status values in overview sequence diagram.
  • Enumeration definitions updated for:
    • Balance/Type - InterimCleared, OpeningCleared, ClosingCleared
    • StatementAmount/Type - PendingTransactionsBalance
    • StatementFee/Type ForeignCashTransaction
    • CardInstrument/AuthorisationType - ConsumerDevice
3.0-draft6 OB R/W API Team
  • Fixed incorrect reference to v2.0 in introduction.
  • Added Release Management in Basics section
3.0-draft7 OB R/W API Team

Errata:

  • In the Release Management Section, GET account-access consent updated:

An AISP must not access a Consent on a newer older version, via a ConsentId created in a previous newer version

E.g., Consent created in v3 accessed via v2 account-request"

Updates:

  • Incorporated Decision: 159. Name-spaced enumeration for following types:
    • OBReadStatement1/Data/Statement/StatementBenefit/Type
    • OBReadStatement1/Data/Statement/StatementFee/Type
    • OBReadStatement1/Data/Statement/StatementInterest/Type
    • OBReadStatement1/Data/Statement/StatementAmount/Type
    • OBReadStatement1/Data/Statement/StatementDateTime/Type
    • OBReadStatement1/Data/Statement/StatementRate/Type
    • OBReadStatement1/Data/Statement/StatementValue/Type
3.0-RC2 OB R/W API Team

Errata:

  • In the Release Management Section, DELETE account-access consent updated.
  • In the Release Management Section, GET account-access consent updated (token rule not relevant as resource protected with client credentials).

Updates:

  • Changes to cater for CIBA
    • Modified Basics / Overview / Steps
    • Added  alternative Sequence Diagram for Decoupled Flow
    • Updated Grant Types
  • Consistent language across the Release Management section.
  • Added Swagger specification.
3.0-RC3 OB R/W API Team

Added a section on Security / Consent Authorisation / Consent Re-authentication to clarify that PSUs can be re-authenticated as per definitions in the root document.

Updated Security / Consent Authorisation / Changes to Selected Accounts to reflect that selected accounts may change at the point of re-authentication

Updated references to consent "re-authorisation" to consent "re-authentication"

Added Swagger-based API specification files encoded in JSON and YAML.

3.0 OB R/W API TeamThis is the baseline version. No change from RC3.

Overview

This specification describes the Account Information and Transaction API flows and payloads.

...

This specification should be read in conjunction with Read/Write Data API Specification  which provides a description of the elements that are common across all the Read/Write Data APIs.

Document Structure

This document consists of the following parts:

...

Swagger Specifications: Provides links to the swagger specifications for the APIs.

Basics

Overview

The figure below provides a general outline of an account information requests and flow using the Account Info APIs.

Steps

Step 1: Request Account Information

...

  • This is carried out by making a GET request the relevant resource.
  • The unique AccountId(s) that are valid for the account-access-consent will be returned with a call to GET /accounts. This will always be the first call once an AISP has a valid access token.

Sequence Diagram

Code Block
themeMidnight
titleAccount Info - High Level Flow
linenumberstrue
collapsetrue
participant PSU
participant AISP
participant ASPSP Authorisation Server
participant ASPSP Resource Server
   
note over PSU, ASPSP Resource Server
    Step 1: Request account information
end note
PSU -> AISP: Get account/transaction information
  
note over PSU, ASPSP Resource Server
    Step 2: Setup account access consent
end note
AISP <-> ASPSP Authorisation Server: Establish TLS 1.2 MA
AISP -> ASPSP Authorisation Server: Initiate Client Credentials Grant
ASPSP Authorisation Server -> AISP: access-token
AISP <-> ASPSP Resource Server: Establish TLS 1.2 MA
AISP -> ASPSP Resource Server: POST /account-access-consents
state over ASPSP Resource Server: Consent Status: AwaitingAuthorisation
ASPSP Resource Server -> AISP: HTTP 201 (Created), ConsentId
  
note over PSU, ASPSP Resource Server
Step 3: Authorise consent
end note
alt Redirection (Using Authorization Code Grant)
        AISP -> PSU: HTTP 302 (Found), Redirect (ConsentId)
        PSU -> ASPSP Authorisation Server: Follow redirect (ConsentId)
        PSU <-> ASPSP Authorisation Server: authenticate
        PSU <-> ASPSP Authorisation Server: SCA if required
        PSU <-> ASPSP Authorisation Server: select accounts
        state over ASPSP Resource Server: Consent Status: Authorised
        ASPSP Authorisation Server -> PSU: HTTP 302 (Found), Redirect (authorization-code)
        PSU -> AISP: Follow redirect (authorization-code)
        AISP <-> ASPSP Authorisation Server: Establish TLS 1.2 MA
        AISP -> ASPSP Authorisation Server: Exchange authorization-code for access token
        ASPSP Authorisation Server -> AISP: access-token
    else Decoupled (Using CIBA)
        AISP -> ASPSP Authorisation Server: POST /bc-authorize (login_hint_token)
        ASPSP Authorisation Server -> AISP: OK
        
        PSU -> ASPSP Authorisation Server: Authorise (Consent Id)
        PSU <-> ASPSP Authorisation Server: authenticate
        PSU <-> ASPSP Authorisation Server: SCA if required
        PSU <-> ASPSP Authorisation Server: select accounts
        state over ASPSP Resource Server: Consent Status: Authorised

        alt Using callback
                ASPSP Authorisation Server -> AISP: Callback (authorization-code)
                AISP <-> ASPSP Authorisation Server: Establish TLS 1.2 MA
                AISP -> ASPSP Authorisation Server: Exchange authorization-code for access token
                ASPSP Authorisation Server -> AISP: access-token
        else Using polling
                AISP <-> ASPSP Authorisation Server: Establish TLS 1.2 MA
                AISP -> ASPSP Authorisation Server: Poll at /token using auth-req-id
                ASPSP Authorisation Server -> AISP: access-token
        end alt
end alt


   
note over PSU, ASPSP Resource Server
Step 4: Request data
end note
AISP <-> ASPSP Resource Server: Establish TLS 1.2 MA
AISP -> ASPSP Resource Server: GET /accounts
ASPSP Resource Server -> AISP: HTTP 200 (OK), List of accounts containing AccountId(s)
   
   
AISP -> ASPSP Resource Server: GET /accounts/{AccountId}/transactions
ASPSP Resource Server -> AISP: HTTP 200 (OK), List of transactions
option footer=bar

Idempotency

The API endpoints for creating account-access-consent resources are not idempotent.

If a time-out error occurs - then we would expect an AISP to create a new account-access-consent resource - rather than try with the same resource.

Release Management

This section overviews the release management and versioning strategy for the Account And Transaction API.

Account Access Consent

The account-access-consent resource is referred to as an account-request resource in v1 and v2 of this specification. For clarity, it has been generalised to 'Consent' in the detail below.

POST

  • An AISP must not create a Consent on a newer version, and use it on a previous version
    • E.g., A ConsentId for an account-access-consent created in v3, must not be used to access v2 endpoints

GET

  • An AISP must not access a Consent on an older version, via the Id for a Consent created in a newer version
    • E.g., An account-access-consent created in v3 accessed via v2 account-request
  • An ASPSP must allow a Consent to be accessed in a newer version
  • An ASPSP must ensure Permissions set associated with a Consent are unchanged when accessed in a different version
    • E.g., An account-request created in v2 will have the same details when accessed via v2 and v3 (as an account-access-consent)
  • An ASPSP must ensure a Consent's fields are unchanged when accessed in a different version
  • An ASPSP may allow expired Consents to be accessed in a newer version
  • An ASPSP may choose to populate new fields introduced in a resource from previous version sensible defaults (if mandatory) or not populate at all (if not mandatory)
    • E.g., OBReadResponse1/Data/StatusUpdateDateTime introduced in v2 accessed with v1 AccountRequestId can be populated with Last accessed date time, if not already available in the system of records

DELETE

  • An AISP must not delete a Consent on an older version, via an Id for a Consent created in a newer version
    • E.g., An account-access-consent is created in v3, and request DELETE on v2
  • An ASPSP must support deleting a Consent from a previous version via a newer version
    • E.g., An account-request is created in v2, and request DELETE on v3

Account Information Resources

GET

  • An AISP may use a token that is bound to a Consent in a previous version, to access an endpoint of a newer version
  • An AISP may use an Id for a Consent created in a previous version to retrieve Account Information resources in a newer version
    • E.g., AccountRequestId from v2 can be used as ConsentId in v3, to GET /accounts
  • An AISP must not use an Id for a Consent from a newer version to access Account Information resources in a previous version
    • E.g., ConsentId for an account-access-consent created in v3, must not be used to access v2 Account Information endpoints
  • An AISP must not use an Id for a Consent from a previous version to access a resource introduced in a newer version (as the Consent will not have Permissions required to access the new resource)
  • An ASPSP must allow an AISP to use an Id for a Consent from a previous version to access Account Information resource endpoints in a newer version
    • E.g., AccountRequestId created in v2 must be allowed to access Account Information resource endpoints in v3
  • An ASPSP must reject the request to access a resource, for which a Consent's Permissions set doesn't permit
  • An ASPSP may choose to populate new fields introduced in a resource from previous version sensible defaults (if mandatory) or not populate at all
    • E.g., OBReadResponse1/Data/StatusUpdateDateTime introduced in Version2 accessed with V1 AccountRequestId can be populated with Last accessed date time, if not already available in the system of records

Endpoints

This section looks at the list of available API endpoints to access Account Information and Transaction data and optionality (definitions of mandatory, conditional or optional are defined in the Principles section).

...

Page Properties Report
firstcolumnLink
headingsResource,Endpoints,Mandatory?
sortBySortOrder
cqllabel = "resource" and space = currentSpace() and ancestor = currentContent()

Security & Access Control

Scopes

The access tokens required for accessing the Account Info APIs must have at least the following scope:

Code Block
languagetext
themeMidnight
firstline1
titleScopes
linenumberstrue
accounts 

Grants Types

AISPs must use a client credentials grant to obtain a token to access the account-access-consents resource. In the specification, this grant type is referred to as "Client Credentials".

AISPs must use an grant using a redirect or decoupled flow to obtain a token to access all other resources. In the specification, this grant type is referred to as "Authorization Code".

Consent Authorisation

The AISP must create an account-access-consent resource through a POST operation. This resource indicates the consent that the AISP claims it has been given by the PSU to retrieve account and transaction information. At this stage, the consent is not yet authorised as the ASPSP has not yet verified this claim with the PSU.

...

Once these steps are complete, the consent is considered to have been authorised by the PSU.

Consent Elements

The Account Access Consent resource consists of the following fields, which together form the elements of the consent provided by the PSU to the AISP:

  • Permissions: The set of data clusters that the PSU has consented to allow the AISP to access
  • ExpirationDateTime: The date-time up to which the consent is valid.
  • TransactionFromDateTime: The earliest point of the transaction / statement historical period that the PSU has consented to provide access to the AISP.
  • TransactionToDateTime: The last point of the transaction / statement historical period that the PSU has consented to provide access to the AISP.

Permissions

Permissions codes will be used to limit the data that is returned in response to a resource request. 

...

PermissionsEndpointsBusiness LogicData Cluster Description
ReadAccountsBasic

/accounts

/accounts/{AccountId}


Ability to read basic account information
ReadAccountsDetail

/accounts

/accounts/{AccountId}

Access to additional elements in the payloadAbility to read account identification details
ReadBalances

/balances

/accounts/{AccountId}/balances


Ability to read all balance information
ReadBeneficiariesBasic

/beneficiaries

/accounts/{AccountId}/beneficiaries


Ability to read basic beneficiary details
ReadBeneficiariesDetail

/beneficiaries

/accounts/{AccountId}/beneficiaries

Access to additional elements in the payloadAbility to read account identification details for the beneficiary
ReadDirectDebits

/direct-debits

/accounts/{AccountId}/direct-debits


Ability to read all direct debit information
ReadStandingOrdersBasic

/standing-orders

/accounts/{AccountId}/standing-orders


Ability to read basic standing order information
ReadStandingOrdersDetail

/standing-orders

/accounts/{AccountId}/standing-orders

Access to additional elements in the payloadAbility to read account identification details for beneficiary of the standing order
ReadTransactionsBasic

/transactions

/accounts/{AccountId}/transactions

/accounts/{AccountId}/statements/{StatementId}/transactions

Permissions must also include at least one of:

  • ReadTransactionsCredits
  • ReadTransactionsDebits

Ability to read basic transaction information

ReadTransactionsDetail

/transactions

/accounts/{AccountId}/transactions

/accounts/{AccountId}/statements/{StatementId}/transactions

Access to additional elements in the payload

Permissions must also include at least one of

  • ReadTransactionsCredits
  • ReadTransactionsDebits

Ability to read transaction data elements which may hold silent party details

ReadTransactionsCredits

/transactions

/accounts/{AccountId}/transactions

/accounts/{AccountId}/statements/{StatementId}/transactions

Access to credit transactions.

Permissions must also include one of:

  • ReadTransactionsBasic
  • ReadTransactionsDetail
Ability to read only credit transactions
ReadTransactionsDebits

/transactions

/accounts/{AccountId}/transactions

/accounts/{AccountId}/statements/{StatementId}/transactions

Access to debit transactions.

Permissions must also includeone of:

  • ReadTransactionsBasic
  • ReadTransactionsDetail
Ability to read only debit transactions
ReadStatementsBasic

/statements

/accounts/{AccountId}/statements


Ability to read basic statement details
ReadStatementsDetail

/statements

/accounts/{AccountId}/statements

/accounts/{AccountId}/statements/{StatementId}/file

Access to additional elements in the payload

Access to download the statement file (if the ASPSP makes this available).

Ability to read statement data elements which may leak other information about the account
ReadProducts

/products

/accounts/{AccountId}/product


Ability to read all product information relating to the account
ReadOffers

/offers

/accounts/{AccountId}/offers


Ability to read all offer information
ReadParty/accounts/{AccountId}/party
Ability to read party information on the account owner.
ReadPartyPSU/party
Ability to read party information on the PSU logged in.
ReadScheduledPaymentsBasic

/scheduled-payments

/accounts/{AccountId}/scheduled-payments


Ability to read basic statement details
ReadScheduledPaymentsDetail

/scheduled-payments

/accounts/{AccountId}/scheduled-payments

Access to additional elements in the payload
ReadPANAll API endpoints where PAN is available as a structured fieldRequest to access to PAN in the clear

Request to access PAN in the clear across the available endpoints. 

If this permission code is not in the account-access-consent, the AISP will receive a masked PAN.

While an AISP may request to access PAN in the clear, an ASPSP may still respond with a masked PAN if:

  • The ASPSP does not display PAN in the clear in existing online channels
  • The ASPSP takes a legal view to respond with only the masked PAN
Detail Permissions

The additional elements that are granted for "Detail" permissions are listed in this section.

...

Permission - Detail CodesData Element NameOccurrenceXPath
ReadAccountsDetailAccount0..1OBReadAccount2/Data/Account/Account
ReadAccountsDetailServicer0..1OBReadAccount2/Data/Account/Servicer
ReadBeneficiariesDetailCreditorAgent0..1OBReadBeneficiary2/Data/Beneficiary/CreditorAgent
ReadBeneficiariesDetailCreditorAccount0..1OBReadBeneficiary2/Data/Beneficiary/CreditorAccount
ReadStandingOrdersDetailCreditorAgent0..1OBReadStandingOrder3/Data/StandingOrder/CreditorAgent
ReadStandingOrdersDetailCreditorAccount0..1OBReadStandingOrder3/Data/StandingOrder/CreditorAccount
ReadTransactionsDetailTransactionInformation0..1OBReadTransaction3/Data/Transaction/TransactionInformation
ReadTransactionsDetailBalance0..1OBReadTransaction3/Data/Transaction/Balance
ReadTransactionsDetailMerchantDetails0..1OBReadTransaction3/Data/Transaction/MerchantDetails
ReadTransactionsDetailCreditorAccount0..1

OBReadTransaction3/Data/Transaction/CreditorAccount

ReadTransactionsDetailDebtorAccount0..1OBReadTransaction3/Data/Transaction/DebtorAccount
ReadStatementsDetailStatementAmount0..*OBReadStatement1/Data/Statement/StatementAmount
ReadScheduledPaymentsDetailCreditorAgent0..1OBReadScheduledPayment1/Data/ScheduledPayment/CreditorAgent
ReadScheduledPaymentsDetailCreditorAccount0..1OBReadScheduledPayment1/Data/ScheduledPayment/CreditorAccount

In addition the ReadStatementsDetail is required to access the statement file download via: /accounts/{AccountId}/statements/{StatementId}/file

...

Example behaviour of the Permissions for the ReadAccountsBasic and ReadAccountsDetail codes is as follows:


Reversing Entries

It is expected that transactions will be returned in the payload irrespective of whether they are reversing entries as long as the PSU has provided consent for that type of transaction.

...

If the PSU has provided permission for ReadTransactionsDebits, the ASPSP must include all debits including credit reversals.

Expiration Date Time

The ExpirationDateTime is an optional field which specifies the expiration for AISP access to the PSU's data.

...

The ExpirationDateTime applies to all Permissions (data clusters) being consented.

Transaction To/From Date Time

The TransactionToDateTime and the TransactionFromDateTime specify the period for consented transaction and/or statement history. Both the fields are optional and one may be specified without the other.

...

The AISP must be restricted to accessing statements which are completely within this period when accessing the statements resource.

Account Access Consent Status

The Account Access Consent resource may have one of the following status codes after authorisation has taken place:


StatusDescription
1AuthorisedThe account access consent has been successfully authorised.
2RejectedThe account access consent has been rejected.
3RevokedThe account access consent has been revoked via the ASPSP interface.

Consent Re-authentication

Account Access Consents are long-lived consents.

...

An ASPSP may allow the PSU to change the selected accounts during consent re-authentication.

Consent Revocation

A PSU may revoke consent for accessing account information at any point in time.

...

  • The AISP must cease to access the APIs at that point
  • The AISP must call the DELETE operation on the account-access-consent resource (before confirming consent revocation with the PSU) to indicate to the ASPSP that the PSU has revoked consent

Changes to Selected Account(s)

The PSU must select the accounts to which the consent should be applied at the point of consent authorisation.

...

In such a situation, only the affected account is removed from the list of selected accounts. The ASPSP must not revoke authorisation to other accounts.

Risk Scoring Information

Information for risk scoring and assessment will come via:

...

No fields for business logic security concerns have been identified for the Account Info APIs.

Data Model

Using Meta to identify Available Transaction Period

For Accounts & Transaction APIs, the Meta section in API responses may contain two additional fields to indicate the date range for which data has been returned.

...

Code Block
languagejs
themeMidnight
titleExample Meta
linenumberstrue
  "Meta": {
    "TotalPages": 1,
	"FirstAvailableDateTime": "2017-05-03T00:00:00+00:00",
	"LastAvailableDateTime": "2017-12-03T00:00:00+00:00"
  }

Mapping to Schemes & Standards

The Account Info API resources, where possible, have been borrowed from the ISO 20022 camt.052 XML standard. However - has been adapted for APIs based as per our design principles. 

...

  • The camt.052 header section and trailer sections have been removed - as these are not required for a RESTful API
  • Resources have been identified, and payload structures have been designed for these resources - rather than a full message (i.e., camt.052) that encompasses all resources in a report format. This has meant we've designed separate endpoints and payloads to cover:
    • accounts
    • balances
    • beneficiaries
    • direct-debits
    • offers
    • party
    • products
    • standing-orders
    • statements
    • transactions
    • scheduled-payments
  • New payloads have been designed for beneficiaries, direct-debits, standing-orders, and products resources - as these are not in the ISO 20022 standard (or the camt.052 message)
  • A DateTime element has been used instead of a complex choice element of Date and DateTime (across all API endpoints). Where time elements do not exist in ASPSP systems - the expectation is the time portion of the DateTime element will be defaulted to 00:00:00+00:00
  • Variations for the accounts structure include: 
    • Standardised inline with the Payment API account structures
    • Contains elements to identify an account Nickname, SecondaryIdentification
  • Variations for the balances structure include:
    • Adding a Type into the CreditLine section - to allow for multiple credit line types affecting the available balance
    • DateTime element has been specified instead of a complex choice of Date and DateTime
  • Variations for the transactions structure include:

    • Renaming "entry" to "transaction" for consistency - as this is the language used in the CMA Order, and PSD2

    • DateTime elements used instead of a complex choice of Date and DateTime

    • Flattening of the structure for BankTransactionCode and ProprietaryBankTransactionCode

    • Additional information for an AddressLine, MerchantDetails, and a running Balance

Resources

Each of the Account and Transaction API resources are documented in sub-pages of this specification. Each resource is documented with:

  • Endpoints
    • The API endpoints available for the resource
  • Data Model
    • Resource definition
    • UML diagram
    • Permissions as they relate to accessing the resource
    • Data dictionary - whcih defines fields, re-usable classes, mandatory (1..1) or conditional (0..1) as defined in the Design Principles section, and enumerations
  • Usage Examples

Enumerations

Static Enumerations

Code ClassName Definition 
OBAddressTypeCodeBusinessAddress is the business address.
OBAddressTypeCodeCorrespondenceAddress is the address where correspondence is sent.
OBAddressTypeCodeDeliveryToAddress is the address to which delivery is to take place.
OBAddressTypeCodeMailToAddress is the address to which mail is sent.
OBAddressTypeCodePOBoxAddress is a postal office (PO) box.
OBAddressTypeCodePostalAddress is the complete postal address.
OBAddressTypeCodeResidentialAddress is the home address.
OBAddressTypeCodeStatementAddress is the address where statements are sent.
OBBalanceType1CodeClosingAvailable Closing balance of amount of money that is at the disposal of the account owner on the date specified. 
OBBalanceType1CodeClosingBooked Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period. 
OBBalanceType1CodeClosingClearedClosing balance of amount of money that is cleared on the date specified. 
OBBalanceType1CodeExpected Balance, composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. 
OBBalanceType1CodeForwardAvailable Forward available balance of money that is at the disposal of the account owner on the date specified. 
OBBalanceType1CodeInformation Balance for informational purposes. 
OBBalanceType1CodeInterimAvailable Available balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified. 
OBBalanceType1CodeInterimBooked Balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified. 
OBBalanceType1CodeInterimClearedCleared balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. 
OBBalanceType1CodeOpeningAvailable Opening balance of amount of money that is at the disposal of the account owner on the date specified. 
OBBalanceType1CodeOpeningBooked Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report. 
OBBalanceType1CodeOpeningClearedOpening balance of amount of money that is cleared on the date specified. 
OBBalanceType1CodePreviouslyClosedBooked Balance of the account at the previously closed account reporting period. The opening booked balance for the new period has to be equal to this balance.
Usage: the previously booked closing balance should equal (inclusive date) the booked closing balance of the date it references and equal the actual booked opening balance of the current date. 
OBCreditDebitCodeCreditOperation is a credit
OBCreditDebitCodeDebitOperation is a debit
OBEntryStatus1CodeBookedBooked means that the transfer of money has been completed between account servicer and account owner
Usage:
Status Booked does not necessarily imply finality of money as this depends on other factors such as the payment system used, the completion of the end- to-end transaction and the terms agreed between account servicer and owner.
Status Booked is the only status that can be reversed.
OBEntryStatus1CodePendingBooking on the account owner's account in the account servicer's ledger has not been completed.
Usage: this can be used for expected items, or for items for which some conditions still need to be fulfilled before they can be booked. If booking takes place, the entry will be included with status Booked in subsequent account report or statement. Status Pending cannot be reversed.
OBExternalAccountIdentification2CodeIBANAn identifier used internationally by financial institutions to uniquely identify the account of a customer at a financial institution, as described in the latest edition of the international standard ISO 13616. "Banking and related financial services - International Bank Account Number (IBAN)".
OBExternalAccountIdentification2CodeSortCodeAccountNumberSort Code and Account Number - identifier scheme used in the UK by financial institutions to identify the account of a customer. The identifier is the concatenation of the 6 digit UK sort code and 8 digit account number.
The regular expression for this identifier is: ^[0-9]{6}[0-9]{8}$
OBExternalAccountIdentification3CodeIBANAn identifier used internationally by financial institutions to uniquely identify the account of a customer at a financial institution, as described in the latest edition of the international standard ISO 13616. "Banking and related financial services - International Bank Account Number (IBAN)".
OBExternalAccountIdentification3CodePANPrimary Account Number (PAN) of the card, or card number.
OBExternalAccountIdentification3CodeSortCodeAccountNumberSort Code and Account Number - identifier scheme used in the UK by financial institutions to identify the account of a customer. The identifier is the concatenation of the 6 digit UK sort code and 8 digit account number.

The regular expression for this identifier is: ^[0-9]{6}[0-9]{8}$
OBExternalAccountSubType1CodeChargeCardAccount sub-type is a Charge Card.
OBExternalAccountSubType1CodeCreditCardAccount sub-type is a Credit Card.
OBExternalAccountSubType1CodeCurrentAccountAccount sub-type is a Current Account.
OBExternalAccountSubType1CodeEMoneyAccount sub-type is an EMoney.
OBExternalAccountSubType1CodeLoanAccount sub-type is a Loan.
OBExternalAccountSubType1CodeMortgageAccount sub-type is a Mortgage.
OBExternalAccountSubType1CodePrePaidCardAccount sub-type is a PrePaid Card.
OBExternalAccountSubType1CodeSavingsAccount sub-type is a Savings.
OBExternalAccountType1CodeBusinessAccount type is for business.
OBExternalAccountType1CodePersonalAccount type is for personal.
OBExternalCardAuthorisationType1CodeConsumerDeviceCard authorisation was via a Consumer Device Cardholder Verification Method (CDCVM).
OBExternalCardAuthorisationType1CodeContactlessCard authorisation was via Contactless.
OBExternalCardAuthorisationType1CodeNoneNo card authorisation was used.
OBExternalCardAuthorisationType1CodePINCard authorisation was via PIN.
OBExternalCardSchemeType1CodeAmericanExpressAmericanExpress scheme.
OBExternalCardSchemeType1CodeDinersDiners scheme.
OBExternalCardSchemeType1CodeDiscoverDiscover scheme.
OBExternalCardSchemeType1CodeMasterCardMasterCard scheme.
OBExternalCardSchemeType1CodeVISAVISA scheme.
OBExternalFinancialInstitutionIdentification2CodeBICFIValid BICs for financial institutions are registered by the ISO 9362 Registration Authority in the BIC directory, and consist of eight (8) or eleven (11) contiguous characters.
OBExternalLimitType2CodeAvailableThe amount of credit limit available to the account holder
OBExternalLimitType2CodeCreditThe amount of a credit limit that has been agreed with the account holder
OBExternalLimitType2CodeEmergencyThe amount of an arranged lending limit that can be borrowed on top of pre-agreed lending, that has been agreed with the account holder
OBExternalLimitType2CodePre-AgreedThe amount of an arranged lending limit that has been agreed with the account holder
OBExternalLimitType2CodeTemporaryThe amount of a temporary lending limit that has been agreed with the account holder
OBExternalOfferType1CodeBalanceTransferOffer is a balance transfer.
OBExternalOfferType1CodeLimitIncreaseOffer is a limit increase.
OBExternalOfferType1CodeMoneyTransferOffer is a money transfer.
OBExternalOfferType1CodeOtherOffer is of an other type.
OBExternalOfferType1CodePromotionalRateOffer is a promotional rate.
OBExternalPartyType1CodeDelegateParty that has delegated access.
OBExternalPartyType1CodeJointParty is a joint owner of the account.
OBExternalPartyType1CodeSoleParty is a sole owner of the account.
OBExternalScheduleType1CodeArrivalScheduled payment date is specified as the arrival date for the recipient.
OBExternalScheduleType1CodeExecutionScheduled payment date is specified as the execution date.
OBExternalStandingOrderStatus1CodeActiveThe standing order is active.
OBExternalStandingOrderStatus1CodeInactiveThe standing order is inactive.
OBExternalStatementType1CodeAccountClosure

Final account closure statement.

OBExternalStatementType1CodeAccountOpening

First statement provided for an account.

OBExternalStatementType1CodeAnnual

Annual statement report.

OBExternalStatementType1CodeInterim

Adhoc or customised statement period.

OBExternalStatementType1CodeRegularPeriodic

Regular pre-agreed reporting statement.

Namespaced Enumerations

The enumerated values specified by Open Banking are documented in Developer Zone and will be prefixed by UK.OBIE 




OBExternalStatementAmountType1CodeUK.OBIE.ArrearsClosingBalanceThe balance that is in arrears at the end of the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.AvailableBalanceThe available balance is the difference between the credit limit and the account balance – how much is avaialble to spend.
OBExternalStatementAmountType1CodeUK.OBIE.AverageBalanceWhenInCreditThe average daily balance when the account is in crebit during the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.AverageBalanceWhenInDebitThe average daily balance when the account is in debit during the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.AverageDailyBalanceThe average daily balance during the statement period. An average daily balance adds the closing balances at the end of each day in a given period of time and divides the sum by the number of calendar days in that period.
OBExternalStatementAmountType1CodeUK.OBIE.BalanceTransferClosingBalanceThe component of balance that relates to balance transfers at the end of the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.CashClosingBalanceThe component of balance that relates to cash at the end of the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.ClosingBalanceThe ending balance or closing balance at the end of the current statement period.
OBExternalStatementAmountType1CodeUK.OBIE.CreditLimitThe credit limit is the total amount of credit available to a borrower, including any amount already borrowed.
OBExternalStatementAmountType1CodeUK.OBIE.CurrentPaymentThe total payments received since the last period.
OBExternalStatementAmountType1CodeUK.OBIE.DirectDebitPaymentDueThe total direct debit payments due for current statement period.
OBExternalStatementAmountType1CodeUK.OBIE.FSCSInsuranceThe amount under which the FSCS scheme will protect consumers when authorised financial services firms fail.
OBExternalStatementAmountType1CodeUK.OBIE.MinimumPaymentDueThe minimum payment required for the current statement period.
OBExternalStatementAmountType1CodeUK.OBIE.PendingTransactionsBalanceThe total pending transactions balance at the end of the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.PreviousClosingBalanceThe closing balance of the previous statement.
OBExternalStatementAmountType1CodeUK.OBIE.PreviousPaymentThe previous payment amount in the last statement period.
OBExternalStatementAmountType1CodeUK.OBIE.PurchaseClosingBalanceThe component of balance that relates to purchases at the end of the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.StartingBalanceThe new balance or starting balance carried forward since last statement period.
OBExternalStatementAmountType1CodeUK.OBIE.TotalAdjustmentsTotal adjustments to the account during the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.TotalCashAdvancesA cash advance is a short-term loan from a bank or alternative lender. The term also refers to a service provided by many credit card issuers allowing cardholders to withdraw a certain amount of cash. 
OBExternalStatementAmountType1CodeUK.OBIE.TotalChargesThe total charges including interest, late payment fee during the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.TotalCreditsTotal amount credited in the account during the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.TotalDebitsTotal amount debited (money taken out from account) from the account during the statement period.
OBExternalStatementAmountType1CodeUK.OBIE.TotalPurchasesThe total transactions made during that statement period.
OBExternalStatementBenefitType1CodeUK.OBIE.CashbackCash back amount received during the statement period.
OBExternalStatementBenefitType1CodeUK.OBIE.InsuranceInsurance amount during the statement period.
OBExternalStatementBenefitType1CodeUK.OBIE.TravelDiscountTrave discound amount received during the statement period.
OBExternalStatementBenefitType1CodeUK.OBIE.TravelInsuranceTravel insurance amount during the statement period.
OBExternalStatementDateTimeType1CodeUK.OBIE.BalanceTransferPromoEndThe date the balance transfer promo rate will end.
OBExternalStatementDateTimeType1CodeUK.OBIE.DirectDebitDueThe date that the direct debit payment is due for the current statement. 
OBExternalStatementDateTimeType1CodeUK.OBIE.LastPaymentThe date than an account holder must make the payment for the previous statement period. 
OBExternalStatementDateTimeType1CodeUK.OBIE.LastStatementThe date on which the last statement was made available to account holder.
OBExternalStatementDateTimeType1CodeUK.OBIE.NextStatementThe date on which the next statement will be made available to account holder.
OBExternalStatementDateTimeType1CodeUK.OBIE.PaymentDueThe date than an account holder must make the payment for the current statement period. 
OBExternalStatementDateTimeType1CodeUK.OBIE.PurchasePromoEndThe date the purchase promo rate will end.
OBExternalStatementDateTimeType1CodeUK.OBIE.StatementAvailableThe date on which the current statement was made available to account holder.
OBExternalStatementFeeType1CodeUK.OBIE.AnnualAnnual fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.BalanceTransferBalance transfer fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.CashAdvanceCash advance fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.CashTransactionCash transaction fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.ForeignCashTransactionForeign cash transaction fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.ForeignTransactionForeign transaction fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.GamblingGambling transaction fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.LatePaymentLate payment fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.MoneyTransferMoney transfer fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.MonthlyMonthly account fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.OverlimitOver limit fees charged during the statement period..
OBExternalStatementFeeType1CodeUK.OBIE.PostalOrderPostal order fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.PrizeEntryPrize entry fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.StatementCopyStatement copy fees charged during the statement period.
OBExternalStatementFeeType1CodeUK.OBIE.TotalTotal fees charges during the statement period.
OBExternalStatementInterestType1CodeUK.OBIE.BalanceTransferInterest on balance transfers.
OBExternalStatementInterestType1CodeUK.OBIE.CashInterest on cash advances.
OBExternalStatementInterestType1CodeUK.OBIE.EstimatedNextThe estimated interest that will be charged if the closing balance is not paid in full.
OBExternalStatementInterestType1CodeUK.OBIE.PurchaseInterest on purchases.
OBExternalStatementInterestType1CodeUK.OBIE.TotalTotal interest charges during the statement period.
OBExternalStatementRateType1CodeUK.OBIE.AnnualBalanceTransferAnnual interest rate charged on balance transfer from other service provider.
OBExternalStatementRateType1CodeUK.OBIE.AnnualBalanceTransferAfterPromoAnnual interest rate charged on balance transfer from other service provider after promotional period.
OBExternalStatementRateType1CodeUK.OBIE.AnnualBalanceTransferPromoAnnual interest rate charged on balance transfer from other service provider during promotional period.
OBExternalStatementRateType1CodeUK.OBIE.AnnualCashAnnual interest rate charged on cash advance.
OBExternalStatementRateType1CodeUK.OBIE.AnnualPurchaseAnnual interest rate charged on purchases.
OBExternalStatementRateType1CodeUK.OBIE.AnnualPurchaseAfterPromoAnnual interest rate charged on purchases from after promotional period.
OBExternalStatementRateType1CodeUK.OBIE.AnnualPurchasePromoAnnual interest rate charged on purchases from during promotional period.
OBExternalStatementRateType1CodeUK.OBIE.MonthlyBalanceTransferMonthly interest rate charged on balance transfer from other service provider.
OBExternalStatementRateType1CodeUK.OBIE.MonthlyCashMonthly interest rate charged on cash advance.
OBExternalStatementRateType1CodeUK.OBIE.MonthlyPurchaseMonthly interest rate charged on purchases.
OBExternalStatementValueType1CodeUK.OBIE.AirMilesPointsAir miles points at the end of the statement period.
OBExternalStatementValueType1CodeUK.OBIE.AirMilesPointsBalanceAir miles points at the end of the statement period.
OBExternalStatementValueType1CodeUK.OBIE.CreditsTotal number of credits in statement period.
OBExternalStatementValueType1CodeUK.OBIE.DebitsTotal number of debits in statement period.
OBExternalStatementValueType1CodeUK.OBIE.HotelPointsHotel points at the end of the statement period.
OBExternalStatementValueType1CodeUK.OBIE.HotelPointsBalanceHotel points at the end of the statement period.
OBExternalStatementValueType1CodeUK.OBIE.RetailShoppingPointsRetail shopping points at the end of the statement period.
OBExternalStatementValueType1CodeUK.OBIE.RetailShoppingPointsBalanceRetail shopping points at the end of the statement period.

Swagger Specification

The Swagger Specification for Account Information APIs can be downloaded from the following links:

...