curl --request GET \
--url https://api.example.com/api/v1/transactions/breakdown/series \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/transactions/breakdown/series"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/transactions/breakdown/series', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"groupBy": "tag",
"granularity": "day",
"buckets": [
{
"bucketStart": "2023-11-07T05:31:56Z",
"bucketEnd": "2023-11-07T05:31:56Z",
"items": [
{
"key": "<string>",
"volumeUsd": 123,
"count": 123
}
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Transaction volume breakdown over time
Volume + count grouped by tag or type, split into time buckets across the fromDate..toDate range. Granularity is auto-picked: >6 months → month, >30 days → week, otherwise day. Empty periods are returned as zero-filled buckets so the frontend gets a complete x-axis. Same filter set as /transactions and /transactions/breakdown. fromDate and toDate are required.
curl --request GET \
--url https://api.example.com/api/v1/transactions/breakdown/series \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/transactions/breakdown/series"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/transactions/breakdown/series', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"groupBy": "tag",
"granularity": "day",
"buckets": [
{
"bucketStart": "2023-11-07T05:31:56Z",
"bucketEnd": "2023-11-07T05:31:56Z",
"items": [
{
"key": "<string>",
"volumeUsd": 123,
"count": 123
}
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Query Parameters
Group by tag or type
tag, type Comma-separated transaction types
Comma-separated tags
Comma-separated unified statuses
Comma-separated contact UUIDs
Comma-separated bank account UUIDs
Comma-separated bank account UUIDs
Comma-separated Card UUIDs
Reporting-date cutoff (YYYY-MM-DD). Caps results at the end of that day; ignored when toDate is set.
True → only transactions linked to an invoice; False → only those without one; omitted → no filter.
Free-text search across description, merchant, tag, hash/wallet, contact name, counterparty user, invoice contractor, IBAN, and exact amount. Min 2 chars; values shorter are ignored.
Response
Successful Response
Time-bucketed volume + count grouped by tag or type.
Granularity is auto-picked from the fromDate/toDate range: months for ranges longer than 6 months, weeks for >30 days, days otherwise. The response always includes every bucket in the range (zero-filled when empty) so the frontend gets a complete x-axis.
Was this page helpful?