Volume Series
How much moved over time: the window cut into days, weeks or months, with one series per transaction family and one point per bucket and currency. Draw it as a volume chart.
New in v3: v2 has no equivalent.
Authorization:
Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.
Headers:
Authorization: APIKey {SIGNED_JWT}
How to build and sign the JWT: Authentication.
Endpoint
/v3/reports/volume-series
Query parameters
Every filter of Report Summary (from and to required), plus:
| Parameter | Type | Description |
|---|---|---|
bucket | string | The width of a point: day (default), week or month. |
Buckets are cut in UTC: a day starts at midnight UTC, a week on Monday, a month on the 1st. A bucket with nothing in it has no point: fill the gaps yourself when you draw. For buckets cut in your own time zone, and zeros included, see Transaction Series, which counts rather than sums.
Who the series covers is decided as for the summary: a workspace-scoped key gets the whole workspace, an account-scoped key its own account.
Response Sample
GET /v3/reports/volume-series?from=2026-07-10T00:00:00Z&to=2026-07-13T00:00:00Z&view=crypto
{
"bucket": "day",
"series": [
{
"type": "trade",
"points": [
{ "bucket": "2026-07-10T00:00:00Z", "currency": "EUR", "amount": "100.5", "usd_amount": "109.3", "count": 1 },
{ "bucket": "2026-07-10T00:00:00Z", "currency": "USD", "amount": "200", "usd_amount": "200", "count": 1 },
{ "bucket": "2026-07-12T00:00:00Z", "currency": "USD", "amount": "75.25", "usd_amount": "75.25", "count": 1 }
]
},
{
"type": "crypto",
"points": [
{ "bucket": "2026-07-11T00:00:00Z", "currency": "USDT", "amount": "500", "usd_amount": "499.6", "count": 2 }
]
}
]
}
Response Schema
| Field | Type | Description |
|---|---|---|
bucket | string | The width the points were cut at: day, week or month. |
series | array | One entry per family the filters cover (trade, crypto, bank), in that order. |
series[].type | string | The family. |
series[].points | array | Oldest bucket first; within a bucket, one point per currency. Empty when the family had nothing in the window. |
series[].points[].bucket | string (date-time) | The bucket's first instant, in UTC. |
series[].points[].currency | string | The currency of amount. Empty when the transaction recorded none. |
series[].points[].amount | string (decimal) | What moved in that bucket and currency. A family's volume is measured as in the summary. |
series[].points[].usd_amount | string (decimal) | The same in USD, at the current market price. Absent when the currency has no price. |
series[].points[].count | integer | How many transactions make up amount. |
unconverted_currencies | array of strings | Currencies with no USD price right now; their points carry no usd_amount. Absent when every point converted. |
Errors
Every error of Report Summary, and:
| Status | message | When |
|---|---|---|
422 | Validation failed | bucket is not day, week or month; details names it. |
Support and Resources
If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.
Stay Updated
Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!