The
time_series endpoint requires the company:balance:read permission. See
Permissions to learn how to request
permissions for your app.Discover available filters
Before building queries, call the schema endpoint to get the full taxonomy of reporting categories, groupings, and line categories with human-readable descriptions. No authentication required.reporting_categories— predefined report scopes (e.g.gross_income,net_activity) and which line categories each one includesgroupings— logical buckets (e.g.payments,refunds,disputes) and their line categoriesline_categories— every active transaction type with its description, grouping, and which reports it belongs to
time_series endpoint. See the Schema API Reference for the full response schema.
Time Series
amount and line_count per period. Filter with reporting_category, grouping, or line_category to narrow results.
The wallet is resolved from your API key’s auth context — no account ID needed in the URL.
Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
resource_type | string | — | yes | Must be wallet |
account_id | string | — | no | Query a sub-account’s wallet (e.g. biz_xxx). Pass global for platform-wide queries (admin only). Omit to use the caller’s own wallet. |
from | date | — | yes | Start date, ISO 8601 (e.g. 2025-01-01) |
to | date | — | yes | End date, ISO 8601 (e.g. 2025-12-31) |
group_by | string | month | no | Granularity: day, week, or month |
reporting_category | string | all | no | Filter to a reporting category: net_activity, gtv, gross_income, net_income, payment_processing_fees |
grouping | string[] | all | no | Filter by grouping(s): payments, refunds, fees, disputes, withdrawals, etc. |
line_category | string[] | all | no | Filter by transaction type(s) (e.g. payment_gross, payment_refund) |
currency | string | all | no | Filter to a single currency (e.g. usd) |
convert_currency | string | — | no | Convert all amounts to this currency using historical exchange rates |
timezone | string | UTC | no | IANA timezone for period boundaries |
Example
Filtering
Usereporting_category to scope to a predefined set of line categories (e.g. only income-related activity):
grouping to narrow to specific groupings (e.g. only payments and refunds):
line_category for the most granular filtering:
reporting_category first, then grouping, then line_category.
Global queries
Passaccount_id=global to query aggregated data across all wallets. This requires admin access.
wallet_id from the response metadata since data spans all wallets.
Currency handling
There are two separate currency controls: filter and convert. Filter —currency restricts rows to a single currency:
convert_currency converts all amounts to a target currency using historical exchange rates, collapsing multi-currency rows into one per period:
currency field and you may get multiple rows per period (one per currency):
currency=eur&convert_currency=usd filters to EUR rows then converts them to USD.
Errors
| Status | Cause |
|---|---|
| 400 | Missing or invalid parameters (including missing resource_type) |
| 401 | Missing or invalid API key |
| 403 | API key lacks company:balance:read permission, or account_id=global without admin access |

