How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Bank of Scotland Statements API

The Statements API from Bank of Scotland — 5 operation(s) for statements.

Bank of Scotland Statements API is one of 34 APIs that Bank of Scotland publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Statements. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 5 operations across 5 paths, and defines 97 schemas. It is described by OpenAPI 3.2.0, at version 4.0.1.

Requests are made against a single base URL, /open-banking/v4.0/aisp.

5 operations 5 paths 97 schemas 5 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
4.0.1
Base URL
https://api.bankofscotland.co.uk/open-banking/v2.2
Authentication
OAuth 2.0, OAuth 2.0
Terms of Service
Resource Areas
1

Authentication & Security 2

Bank of Scotland Statements API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (TPPOAuth2Security) using the clientCredentials flow, exposing 1 scope. It supports OAuth 2.0 (PSUOAuth2Security) using the authorizationCode flow, exposing 1 scope.

  • TPPOAuth2Security — TPP client credential authorisation flow with the ASPSP
  • PSUOAuth2Security — 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

Paths & Operations 5

Across 5 paths, the API surfaces 5 operations — 5 GET. Each is listed below with its method, path, parameters, and response codes.

Statements 5
GET
/accounts/{AccountId}/statements
Get Statements for an AccountId
GetAccountsAccountIdStatements 9 params → 200400401403404405406429
GET
/accounts/{AccountId}/statements/{StatementId}
Get Statement by StatementId for an AccountId
GetAccountsAccountIdStatementsStatementId 8 params → 200400401403404405406429
GET
/accounts/{AccountId}/statements/{StatementId}/file
Get Statement file by StatementId for an AccountId
GetAccountsAccountIdStatementsStatementIdFile 8 params → 200400401403404405406429
GET
/accounts/{AccountId}/statements/{StatementId}/transactions
Get Statement Transactions for an AccountId
GetAccountsAccountIdStatementsStatementIdTransactions 8 params → 200400401403404405406429
GET
/statements
Get Statements
GetStatements 8 params → 200400401403404405406429

Schemas 97

The contract defines 97 schemas that model the data the API accepts and returns. The most detailed are OBTransaction6 (32 properties), OBPostalAddress7 (18 properties), OBStatement2 (16 properties), OBCurrencyExchange5 (7 properties). Each schema is shown below with its type and property counts.

OBTransactionCashBalance
object
Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied…
3 properties 3 required
OBErrorResponse1
object
An array of detail error codes, and messages, and URLs to documentation to help remediation.
4 properties 1 required
OBCreditDebitCode_2
string
Indicates whether the balance is a credit or a debit balance. Usage: A zero balance is considered to be a credit balance. For a full list of enumeration values…
Rate
string
Rate associated with the statement rate type.
OBInternalStatementDateTimeType1Code
string
Date time type, in a coded form. For a full list of values see OBInternalStatementDateTimeType1Code in OBInternalCodeSet [here](https://github.com/OpenBankingU…
OBInternalAccountIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list. For a full list of enumeration values refer to OBInternalAccountIdentifica…
Identification_2
string
Unique and unambiguous identification of a financial institution or a branch of a financial institution.
OBInternalStatementType1Code
string
Statement type, in a coded form. For a full list of values see OBInternalStatementType1Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/Extern…
OBInternalFinancialInstitutionIdentification4Code
string
Name of the identification scheme, in a coded form as published in an external list. For a full list of enumeration values refer to OBInternalFinancialInstitut…
CareOf
string
The 'care of' address is used whenever sending mail to a person or organisation who does not actually live or work at the address. They will receive the mail f…
TransactionId
string
Unique identifier for the transaction within a servicing institution. This identifier is both unique and immutable.
PostBox
string
Information that locates and identifies a box in a post office assigned to a person or organization, where letters for them are kept until called for.
Name_1
string
Name by which an agent is known and which is usually used to identify that agent.
ISODateTime
string
All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below:…
OBInternalStatementInterestFrequency1Code
string
Specifies the statement fee type requested. For a full list of values see OBInternalStatementInterestFrequency1Code in OBInternalCodeSet [here](https://github.…
OBTransactionCardInstrument1
object
Set of elements to describe the card instrument used in the transaction. For a full list of enumeration values refer to OBInternalCardSchemeType1Code in OBInte…
4 properties 1 required
OBActiveCurrencyAndAmount_SimpleType
string
A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.
OBProxy1
object
Specifies an alternate assumed name for the identification of the account.
3 properties 2 required
Identification_0
string
Identification assigned by an institution to identify an account. This identification is known by the account owner.
OBStatement2
object
Provides further details on a statement resource.
16 properties 5 required
OBSupplementaryData1
object
Additional information that can not be captured in the structured fields and/or any other specific block.
Value
string
Value associated with the statement value type.
StreetName
string
Name of a street or thoroughfare.
Name_0
string
The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account n…
OBError1
object
4 properties 1 required
TransactionReference
string
Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.
OBActiveOrHistoricCurrencyAndAmount_7
object
Amount of money associated with the statement interest amount type.
2 properties 2 required
TownName
string
Name of a built-up area, with defined boundaries, and a local government.
AddressLine
string
Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.
OBPostalAddress7
object
Information that locates and identifies a specific address, as defined by postal services.
18 properties
OBActiveOrHistoricCurrencyAndAmount_9
object
Amount of money in the cash transaction entry.
2 properties 2 required
OBReadDataTransaction6
object
1 property
SecondaryIdentification
string
This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally ident…
Floor
string
Number that identifies the level within a building
OBUltimateDebtor1
object
Ultimate party that owes an amount of money to the (ultimate) creditor.
5 properties
Meta
object
Meta Data relevant to the payload
3 properties
OBInternalStatementRateType1Code
string
Statement rate type, in a coded form. For a full list of values see OBInternalStatementRateType1Code in OBInternalCodeSet [here](https://github.com/OpenBanking…
Links
object
Links relevant to the payload
5 properties 1 required
OBReadTransaction6
object
3 properties 1 required
CreationDateTime
string
Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses…
ValueDateTime
string
Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit…
OBInternalStatementFeeRateType1Code
string
This code indicates the specific type of fee rate (e.g., AER, EAR). For a full list of values see OBInternalStatementFeeRateType1Code in OBInternalCodeSet [her…
OBReadDataStatement2
object
1 property
StatementId
string
Unique identifier for the statement resource within a servicing institution. This identifier is both unique and immutable.
BuildingName
string
Name of a referenced building.
OBCashAccount6_1
object
Unambiguous identification of the account of the debtor, in the case of a credit transaction.
5 properties
Description_1
string
Description that may be available for the statement fee.
DateTime
string
Date and time associated with the date time type. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in response…
OBMerchantDetails1
object
Details of the merchant involved in the transaction.
2 properties
OBActiveOrHistoricCurrencyAndAmount_10
object
Transaction charges to be paid by the charge bearer.
2 properties 2 required
OBInternalTransactionMutability1Code
string
Specifies the Mutability of the Transaction record. For a full list of enumeration values refer to OBInternalTransactionMutability1Code in OBInternalCodeSet [h…
ExternalProxyAccountType1Code
string
Specifies the external proxy account type code, as published in the proxy account type external code set. For more information and a full list of values see Ex…
BuildingNumber
string
Number that identifies the position of a building on a street.
OBUltimateCreditor1
object
Ultimate party to which an amount of money is due.
5 properties
PostCode
string
Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
OBBranchAndFinancialInstitutionIdentification6_2
object
Financial institution servicing an account for the debtor.
5 properties
OBInternalStatementBenefitType1Code
string
Benefit type, in a coded form. For a full list of values see OBInternalStatementBenefitType1Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/E…
AccountId
string
A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.
OBCreditDebitCode_1
string
Indicates whether the transaction is a credit or a debit entry. For a full list of enumeration values refer to OBInternalCreditDebitCode in OBInternalCodeSet […
Description_2
string
Description that may be available for the statement interest.
OBIntermediaryAgent
object
The intermediary agent associated with this transaction.
6 properties
OBCreditDebitCode_0
string
Indicates whether the amount is a credit or a debit. For a full list of values see OBInternalCreditDebitCode in OBInternalCodeSet [here](https://github.com/Ope…
ExternalCategoryPurpose1Code
string
Enumeration of codes that outlines the type of purpose behind a transaction, payment or risk. For all enum values see ExternalCategoryPurpose1Code in ISOExtern…
TransactionInformation
string
Further details of the transaction. This is the transaction narrative, which is unstructured text.
OBRate1_0
number
Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)
StartDateTime
string
Date and time at which the statement period starts. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in respon…
StatementReference
string
Unique reference for the statement. This reference may be optionally populated if available.
File
object
OBInternalStatementFeeType1Code
string
Fee type, in a coded form. For a full list of values see OBInternalStatementFeeType1Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/ExternalI…
EndDateTime
string
Date and time at which the statement period ends. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in response…
OBAddressType2Code
string
Identifies the nature of the postal address. For a full set of codes see OBAddressType2Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/Extern…
OBInternalStatementAmountType1Code
string
Amount type, in a coded form.
OBInternalStatementFeeFrequency1Code
string
How frequently the fee is applied to the Account. For a full list of values see OBInternalStatementFeeFrequency1Code in OBInternalCodeSet [here](https://github…
OBInternalStatementInterestRateType1Code
string
This code specifies the type of interest (e.g., BOE Base Rate, Fixed Rate, Gross).
LEI
string
Legal entity identification as an alternate identification for a party. Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Finan…
OBRate1_1
number
Rate for Statement Interest (where it is applicable in terms of a rate rather than an amount)
ProprietaryBankTransactionCodeStructure1
object
Set of elements to fully identify a proprietary bank transaction code.
2 properties 1 required
OBCurrencyExchange5
object
Set of elements used to provide details on the currency exchange.
7 properties 2 required
OBReadStatement2
object
3 properties 1 required
OBBankTransactionCodeStructure1
object
Set of elements used to fully identify the type of underlying transaction resulting in an entry.
2 properties 2 required
ActiveOrHistoricCurrencyCode_1
string
A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international st…
OBInternalStatementValueType1Code
string
Statement value type, in a coded form. For a full list of values see OBInternalStatementValueType1Code in OBInternalCodeSet [here](https://github.com/OpenBanki…
OBActiveOrHistoricCurrencyAndAmount_5
object
Amount of money associated with the statement benefit type.
2 properties 2 required
OBExternalStatusReason1Code
string
Low level textual error code, for all enum values see OBExternalStatusReason1Code in OBInternalCodeSet [here](https://github.com/OpenBankingUK/ExternalInternal…
ExternalEntryStatus1Code
string
Status of a transaction entry on the books of the account servicer. For a full list of enumeration values refer to ExternalEntryStatus1Code in ISOExternalCodeS…
OBTransaction6
object
Provides further details on an entry in the report.
32 properties 5 required
UnitNumber
string
Number that identifies the unit of a specific address .
DistrictName
string
Number that of the regional area, known as a district, which forms part of an address
Room
string
Information that locates and identifies a room to form part of an address
OBExtendedProprietaryBankTransactionCode
object
Additional proprietary bank transaction codes used by the ASPSP for the underlying transaction
3 properties 1 required
OBInternalStatementInterestType1Code
string
Interest amount type, in a coded form. For a full list of values see OBInternalStatementInterestType1Code in OBInternalCodeSet [here](https://github.com/OpenBa…
BookingDateTime
string
Date and time when a transaction entry is posted to an account on the account servicer's books. Usage: Booking date is the expected booking date, unless the st…
OBBalanceType1Code
string
Balance type, in a coded form. For a full list of enumeration values refer to ExternalBalanceType1Code in ISOExternalCodeSet [here](https://github.com/OpenBank…
OBActiveOrHistoricCurrencyAndAmount_6
object
Amount of money associated with the statement fee type.
2 properties 2 required
OBCashAccount6_0
object
Unambiguous identification of the account of the creditor, in the case of a debit transaction.
5 properties
OBBranchAndFinancialInstitutionIdentification6_1
object
Financial institution servicing an account for the creditor.
5 properties
OBExternalPurpose1Code
string
For a full list of enumeration values refer to ExternalPurpose1Code in ISOExternalCodeSet [here](https://github.com/OpenBankingUK/ExternalInternalCodeSets)

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

bank-of-scotland-statements-api-openapi.yml Raw ↑

Other APIs Bank of Scotland publishes across the network.

Bank of Scotland Account Access Consents API
Bank of Scotland Accounts API
Bank of Scotland ATM API
Bank of Scotland Balances API
Bank of Scotland BCA API
Bank of Scotland Beneficiaries API
Bank of Scotland Branch API
Bank of Scotland CCC API
Bank of Scotland Direct Debits API
Bank of Scotland Domestic Payment Consents API
Bank of Scotland Domestic Payments API
Bank of Scotland Domestic Scheduled Payment Consents API
Where this information came from

This is an independent, third-party profile of Bank of Scotland Statements API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.