This is how we've implemented the API standards defined by Open Banking for Account Information Service Providers (AISP).
To view the latest version of the standards and specifications, visit the Open Banking Developer Zone.
Version Supported
Date |
Production |
Sandbox |
---|---|---|
March 2019 |
N/A |
v3.1 |
July 2019 |
v3.1.1 |
v.3.1.1 |
What you need to know when using our APIs
Account access requests
Our APIs don’t accept the following combinations of account permission requests:
Account access requests with an empty permissions array
Account access requests with the following permission codes:
- ReadStatementsBasic
- ReadStatementsDetail
- ReadPAN
Customer Authentication and Reauthentication
Endpoints may be accessed for a period of 5 minutes after customer authentication. After this time an error '403 Reauthentication' will be returned and the customer will be required to reauthenticate prior to accessing the information.
The exceptions to this rule are Accounts, Balances, Transactions (<90 days) and Confirmation of Funds, which can be accessed without SCA on each request given that SCA has been done when the consent was authorised.
Please note that if a request is made for Transactions and no BookingDateTime is provided then the request will be rejected with a "403 Reauthentication" error if SCA has not been done in the last 5 minutes.
Transaction date and time
The transaction date (TransactionToDateTime) and the transaction time (TransactionFromDateTime) specify the period for consented transaction history. If no value is specified, the default is value is zero. These fields are optional and one may be specified without the other. However if you choose to set both the TransactionFromDateTime must be equal to or before TransactionToDateTime 'and not in the future.
Bulk requests for information
We only support bulk calls for GET / Accounts. All other requests for information must be made at account level e.g. GET /accounts/{AccountId}/balances.
If an account status changes
In certain scenarios, you may have access to a Tesco Bank account which moves from a valid state to a state where online access and the return of account information is not permitted. Where this happens, an error code 400 'Invalid Account' will be returned. Note that it is possible for this account to return to a valid state at a later point in time.
Information returned
All mandatory fields will be returned. Only Optional fields that we surface to our customers will be returned in the response.
Our available endpoints
Here you’ll find all of the available endpoints that we currently support.
Get/Accounts
This retrieves account information for Tesco Bank accounts.
What should I know when using this API?
Products supported:
- Current Accounts
- Savings Accounts
- Credit Cards
- Clubcard Pay+
- Round Up
For credit cards, we’ll only return the last four digits of the PAN.
Sample Response
{
"Data": {
"Account": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"Currency": "GBP",
"AccountType": "Personal",
"AccountSubType": "CurrentAccount",
"Description": "Current Account",
"Account": [
{
"SchemeName": "UK.OBIE.SortCodeAccountNumber",
"Identification": "40642010657778"
},
{
"SchemeName": "UK.OBIE.IBAN",
"Identification": "GB14TPFG40642010657778"
}
]
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts"
},
"Meta": {}
}
Get/accounts/{AccountId}/balances
This retrieves the account balance for a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
- Savings Accounts
- Credit Cards
- Clubcard Pay+
- Round Up
For current accounts, Clubcard Pay+, Round Up and savings accounts, the balances provided will be mapped to InterimAvailable and InterimBooked. If the account has an overdraft, the details will be given along with the InterimAvailable balance (this is only applicable for current accounts).
For Credit Cards, the balances provided will be mapped to type 'ClosingBooked.' The credit card available credit is subject to change throughout the course of a day and is mapped to type 'InterimAvailable'
Sample Response
{
"Data": {
"Balance": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"CreditDebitIndicator": "Debit",
"Type": "InterimBooked",
"DateTime": "2019-02-28T11:01:02+00:00",
"Amount": {
"Amount": "1025.81",
"Currency": "GBP"
}
},
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"CreditDebitIndicator": "Credit",
"Type": "InterimAvailable",
"DateTime": "2019-02-28T11:01:02+00:00",
"Amount": {
"Amount": "474.19",
"Currency": "GBP"
},
"CreditLine": [
{
"Included": true,
"Type": "Available",
"Amount": {
"Amount": "1500.00",
"Currency": "GBP"
}
}
]
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/balances"
},
"Meta": {}
}
Get/accounts/{AccountId}/direct-debits
This retrieves direct debits for a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
Sample Response
{
"Data": {
"DirectDebit": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"DirectDebitId": "BT0088903",
"MandateIdentification": "300415",
"DirectDebitStatusCode": "Inactive",
"Name": "BT"
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/direct-debits"
},
"Meta": {}
}
Get/accounts/{AccountId}/transactions
This retrieves transaction information for a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
- Savings Accounts
- Credit Cards
- Clubcard Pay+
- Round Up
The transactions returned can have either of the following states:
- 'Posted' which means that the transaction is complete
- 'Pending' which means that the transaction has not yet been posted and may be subject to change or adjustment
For savings accounts, the transaction array will only contain posted transactions.
For Credit Cards, Current Accounts and Clubcard Pay+, the transaction array may contain both pending and posted transactions.
Pending transactions will not return a value in the following fields:
- OBReadTransaction3/Data/Transaction/BookingDateTime
- OBReadTransaction3/Data/Transaction/CurrencyExchange/SourceCurrency
- OBReadTransaction3/Data/Transaction/CurrencyExchange/ExchangeRate
Posted transactions will include the transaction date in the field:
- OBReadTransaction3/Data/Transaction/TransactionInformation
Sample Response
{
"Data": {
"Transaction": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"CreditDebitIndicator": "Debit",
"Status": "Booked",
"BookingDateTime": "2018-10-24T00:00:00T00:00:00+00:00",
"ValueDateTime": "2018-10-24T00:00:00T00:00:00+00:00",
"Amount": {
"Amount": "1000.00",
"Currency": "GBP"
},
"TransactionInformation": "SENDING MONEY TO, GAS BILL",
"Balance": {
"CreditDebitIndicator": "Debit",
"Type": "ClosingBooked",
"Amount": {
"Amount": "-1000.00",
"Currency": "GBP"
}
}
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/transactions"
},
"Meta": {}
}
Get/accounts/{AccountId}/standing-orders
This retrieves the standing orders for a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
If a successful call is made to a credit card or savings account, a “200” response code will be returned with an empty array.
This API will only return domestic standing orders; international standing orders are not supported.
Sample Response
{
"Data": {
"StandingOrder": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"StandingOrderId": "0000010661600000000001",
"Frequency": "IntrvlMnthDay:12:22",
"Reference": "SP02TC02",
"FirstPaymentDateTime": "2019-03-22T00:00:00+00:00",
"NextPaymentDateTime": "2019-03-22T00:00:00+00:00",
"FinalPaymentDateTime": "2049-03-22T00:00:00+00:00",
"StandingOrderStatusCode": "Active",
"NextPaymentAmount": {
"Amount": "12.00",
"Currency": "GBP"
},
"CreditorAccount": {
"SchemeName": "UK.OBIE.SortCodeAccountNumber",
"Identification": "40642010061234",
"Name": "GAS BILL"
}
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/standing-orders"
},
"Meta": {}
}
GET/accounts/{AccountId}/party
This retrieves the name of a party on a Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
- Savings Accounts
- Credit Cards
- Clubcard Pay+
- Round Up
The name returned following a successful call is the name that we know the customer as on their account (this is not necessarily their full legal name).
The name returned is that of the individual that provided the consent which is being used to make the request.
Get/accounts/{AccountId}/product
This retrieves a reference code for a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
If a successful call is made to a credit card or savings account, a “200” response code will be returned with an empty array.
Sample Response
{
"Data": {
"Product": [
{
"ProductName": "Current Account",
"ProductId": "20401",
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"ProductType": "PersonalCurrentAccount"
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/product"
},
"Meta": {}
}
Get/accounts/{AccountId}/offers
This retrieves any offers that are available for a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Credit Cards
The information returned will relate to pricing changes that are applicable to the credit card account. The information will be returned as a JSON object with the following key value pairs:
Key |
Example Value |
Description |
Format |
---|---|---|---|
endMonthYear |
2019-09 |
The statement month and year where the new pricing will expire and standard pricing will apply. |
Year / Month |
feePercentage |
2.99 |
A fee percentage that is calculated based on the Balance / Money transfer requested amount |
Percentage Rate |
maxTransferPercentage |
95.0 |
The maximum percentage of the available credit that is available for the purpose of a Balance or Money Transfer |
Percentage Rate |
minTransferAmount |
1.0 |
The minimum amount that is permitted for a Balance or Money transfer. |
Monetary value |
minFeeAmount |
5.0 |
The minimum fee amount that will apply, where applicable. |
Monetary value |
rateAnnualPercentage |
0.0 |
Annual interest rate percentage for the price change that is displayed to the customer |
Percentage Rate |
takeUpEndDate |
2019-09-30 |
End of the period in which Balance / Money Transfer requests must be made in order to receive the updated pricing. |
Year / Month / Day |
Get/accounts/{AccountId}/scheduled-payments
This retrieves scheduled payments that have been set up on a specific Tesco Bank account.
What should I know when using this API?
Products supported:
- Current Accounts
- Savings Accounts
If a successful call is made to a credit card account, a “200” response code will be returned with an empty array.
This API will return domestic scheduled payments from supported products only.
Sample Response
{
"Data": {
"ScheduledPayment": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"ScheduledPaymentId": "0000010661500000000001",
"ScheduledPaymentDateTime": "2019-03-15T00:00:00+00:00",
"ScheduledType": "Execution",
"Reference": "SP01TC02",
"InstructedAmount": {
"Amount": "100.00",
"Currency": "GBP"
},
"CreditorAccount": {
"SchemeName": "UK.OBIE.SortCodeAccountNumber",
"Identification": "40640510078654",
"Name": "BEN01TC02"
}
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/scheduled-payments"
},
"Meta": {}
}
Get/accounts/{AccountId}/beneficiaries
This retrieves the beneficiaries that are linked to an account for which consent has been given.
What should I know when using this API?
Products supported:
- Current Accounts
- Savings Accounts
For PCA, Third Party payees, Nominated Accounts, International Payees and the customer's (Tesco Bank) Internal Accounts will all be returned. For Savings, only Nominated Accounts and the customer's (Tesco Bank) internal Accounts will be returned.
Tesco Bank do not support Beneficiaries on Credit Card products. When a call for Beneficiaries from a Credit Card is (successfully) made then a response code 200 will be returned with an empty array.
Sample Response
{
"Data": {
"Beneficiary": [
{
"AccountId": "6db6397631af4b17bc8ca610a4da4e43",
"BeneficiaryId": "00010",
"CreditorAccount": {
"SchemeName": "UK.OBIE.SortCodeAccountNumber",
"Identification": "40640510065432",
"Name": "BEN05TC02"
}
}
]
},
"Links": {
"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/beneficiaries"
},
"Meta": {}
}