Data API basics
Access identity, accounts, transactions and balance data for all integrated banks with a single interface.
To get support for the Data API:
- Check the FAQs
- Ask for help
- For private beta and alpha, contact us to get access.
Available data
The Data API allows you to access the following data for connected accounts available from a provider:
- Account: account holder name, account number, IBAN etc.
- Credit card: card network, last four digits, name on card etc.
- Transactions: description, amount, category, merchant name etc
- Balances: current, available etc.
- Regular payments: standing orders and direct debits
Use /api/providers
endpoint to determine which data is available for each provider. The response includes scopes
which contains a list of information relating to the account.
Supported countries
See our Supported Providers page in Console for more info on which countries and providers we support.
Authentication flow
We offer a ready-made UX flow for you to easily let users connect their bank accounts to your application, or you can build your own fully custom flow on top of our API.
If you are regulated, you have 2 options for your auth flow:
- Use our ready-made, customisable user journey
- Build your own
Non-regulated and agents of TrueLayer customers must use TrueLayer’s flow, which is customisable to fit seamlessly into your application.
Authentication features
- Use Authentication link and Direct Bank Authentication to initiate your user's journey to connect a bank.
- Customise the auth journey with the Auth Dialog.
- Easily reconnect with lapsed account connections with our re-authentication process.
- Understand how far users make it through the authentication journey with our auth journey analytics (private beta).
Data types
General
All of the responses returned by TrueLayer APIs are in JSON format. The description of the data types encoded in a JSON response is below.
Type | Description |
---|---|
string | A UTF-8 string |
datetime | An ISO8601 encoded date time |
boolean | true or false |
number | A float number |
ISO20022 Text Fields
The Payments API constrains some fields to be limited to ISO 20022 text format. These fields are typically used for names and references in bank payment requests.
Valid characters for such a text field include:
a-z
A-Z
0-9
/ – ? : ( ) . , ‘ +
space
Any other characters included will result in a validation error.
API response structure
All responses are JSON encoded.
Success
Field name | Type | Description |
---|---|---|
results | array | An array of objects |
{
"results": [
{
"hello": "world"
}
]
}
Error
Field name | Type | Description |
---|---|---|
error | string | An error code for classification. eg: internal_error |
error_description | string | When possible, extra details about the specific error |
error_details | object | Additional key/value error details if available |
{
"error": "internal_error",
"error_description": "Well, this is embarrassing!",
"error_details": {
"detail_key": "detail value"
}
}
Updated 6 months ago