Query a status
Track the uptime of our products with the Status API.
Our Status API exposes the availability and error rates of the TrueLayer Data API, Payment API, and Payouts API in JSON format.
The returned error rates are broken down by provider and by internal or external error (for example, TrueLayer or provider error). You can use them to determine whether a certain product is offering degraded service or we are experiencing difficulty contacting a third-party reliably and are still offering a good service with other providers.
We calculate availability as percentage of total requests within a given hour that completed successfully. As such, when there have not been sufficient requests we cannot calculate availability. You may notice this if requesting the status of a product, provider or country that is in beta.
You can see the Status API in action in the TrueLayer Service Status page.
For updates on availability of our services you can check out our TrueLayer Status Twitter feed.
Get a product status
GET requests to /{product}/status
retrieve the status of one of our products grouped by hour
, provider
and endpoint
. product
must be one of:
Name | Function |
---|---|
auth | Connecting to (or reauthenticating) an account using our Data API. |
data | Retrieving data from a connected account through our Data API |
payments | Initiating a payment with our Payments API |
payouts | Initiating a payout from our legacy Payouts API (only available in sandbox). You should now make payouts through the /v3/payouts endpoint instead. |
Where the concept of a provider is not relevant (for example, when initiating a payout), the Status API returns the provider as N/A.
The following is a list of optional query string parameters to use when calling the Status API.
Name | Example | Description |
---|---|---|
from | from=2019-01-07T10:00:00 | A timestamp that specifies the date and time data should be fetched from. This defaults to 24 hours. Results are rounded down to the nearest hour. |
to | to=2019-01-07T14:00:00 | A timestamp that specifies the date and time data should be fetched until. This defaults the current time. Results are rounded down to the nearest hour. |
providers | providers=hsbc,oauth-monzo,ob-barclays | A comma-separated list of providers, only data related to the supplied providers will be returned |
endpoints | endpoints=data/v1/accounts,data/v1/info | A comma-separated list of endpoints, only data related to the supplied endpoints will be returned |
environment | environment=sandbox | A string that specifies the desired environment from which to fetch availability. Can be sandbox or production . Defaults to production |
Note that the
from
date can be a maximum of seven days before the current date.
curl 'https://status-api.truelayer.com/api/v1/data/status?from=2023-10-22T12:00:00&to=2023-10-24T15:00:00&providers=ob-barclays,ob-monzo&endpoints=data/v1/accounts'
You get a response that contains the following:
Name | Description |
---|---|
results | A JSON array containing data bucket objects |
provider_id | A string containing the provider id |
timestamp | The start of a one-hour time bucket |
endpoints | A comma-separated list of endpoints, only data related to the supplied endpoints will be returned |
latency_percentiles | A dictionary with percentiles as keys and latencies as values (in milliseconds). For example, a latency of 128 milliseconds on the 50th percentiles means that half of the requests directed to that endpoint completed in 128 milliseconds or less. |
availability | The percentage of successful requests for a provider's endpoint represented as a float value between 0-100 |
provider_error | The percentage of unsuccessful requests (that we know are on the provider side) for a provider's endpoint represented as a float value between 0-100 |
truelayer_error | The percentage of unsuccessful requests (due to TrueLayer) for a provider's endpoint represented as a float value between 0-100 |
{
"status": "ok",
"results": [
{
"timestamp": "2019-06-20T12:00:00.0000000",
"providers": [
{
"provider_id": "barclays",
"endpoints": [
{
"endpoint": "accounts",
"availability": 93.68421052631578,
"provider_error": 3.1578947368421053,
"truelayer_error": 3.1578947368421053,
"latency_percentiles": {
"50": 15,
"75": 74,
"90": 78.2,
"95": 140,
"99": 1401.5,
}
}
],
"availability": 93.68421052631578,
"provider_error": 3.1578947368421053,
"truelayer_error": 3.1578947368421053
},
{
"provider_id": "oauth-monzo",
"endpoints": [
{
"endpoint": "accounts",
"availability": 100,
"provider_error": 0,
"truelayer_error": 0,
"latency_percentiles": {
"50": 17,
"75": 74.3,
"90": 73.2,
"95": 240,
"99": 1401.5,
}
}
],
"availability": 100,
"provider_error": 0,
"truelayer_error": 0
}
],
"availability": 94.39252336448598,
"provider_error": 2.803738317757009,
"truelayer_error": 2.803738317757009
}
]
}
Updated 6 months ago