Account Information Service Provider

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 permission code 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.


Get/Accounts

This retrieves account information for Tesco Bank accounts.

What should I know when using this API?

Products supported:​

  • 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": "CreditCard",​
        "Description": "Classic Credit Card",​
        "Account": [​
          {​
            "SchemeName": "UK.OBIE.PAN",​
            "Identification": "************1234"​
          }
        ]​
      }​
    ]​
  },​
  "Links": {​
    "Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts"​
  },​
  "Meta": {}​
}​
Back to top

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:​

  • Savings Accounts
  • Credit Cards
  • Clubcard Pay+
  • Round Up

For Clubcard Pay+, Round Up and savings accounts, the balances provided will be mapped to InterimAvailable and InterimBooked.

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": {}
}
Back to top

Get/accounts/{AccountId}/transactions

This retrieves transaction information for a specific Tesco Bank account.

What should I know when using this API?

Products supported:​

  • 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 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": {}
}
Back to top

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.

Sample Response

{
    "Data": {
        "Party": {
            "PartyId": "a99bc8e8432345b69bce0d6d9081d0ea",
            "Name": "Mr Test Testing"
        }
    },
    "Links": {
        "Self": ""http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/party""
    },
    "Meta": {}
}
Back to top

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:​

  • Clubcard Pay+
  • 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": {}
}
Back to top

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:​

  • Clubcard Pay+
  • Savings Accounts

For Clubcard Pay+, Third Party payees, Nominated Accounts, 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": {}
}
Back to top

Get/accounts/{AccountId}/statements

This retrieves statement data for a specific Tesco Bank account.

What should I know when using this API?

Products supported:

  • Credit Cards

This API will return statement-related data that is shown on our Online Banking and Mobile App. It will only show data for the most recent statement cycle. It does not provide the statement pdf or any information that is only shown in the statement pdf.

Sample Response

{
   "Data": {"Statement": [   {
      "AccountId": "6db6397631af4b17bc8ca610a4da4e43",
      "Type": "RegularPeriodic",
      "StartDateTime": "2025-03-17T00:00:00+00:00",
      "EndDateTime": "2025-04-16T00:00:00+01:00",
      "CreationDateTime": "2025-04-17T00:00:00+01:00",
      "StatementAmount":       [
                  {
            "Amount":             {
               "Amount": "252.13",
               "Currency": "GBP"
            },
            "CreditDebitIndicator": "Debit",
            "Type": "ClosingBalance"
         },
                  {
            "Amount":             {
               "Amount": "25.00",
               "Currency": "GBP"
            },
            "CreditDebitIndicator": "Credit",
            "Type": "UK.OBIE.MinimumPaymentDue"
         }
      ],
      "StatementDateTime": [      {
         "DateTime": "2025-05-11T00:00:00+01:00",
         "Type": "UK.OBIE.PaymentDue"
      }]
   }]},
   "Links": {"Self": "http://api.openbanking.sbx.test.tbaws.com/open-banking/v3.1/aisp/accounts/6db6397631af4b17bc8ca610a4da4e43/statements"},
   "Meta": {}
}
Back to top