Analytics
Analytics answers the questions finance asks: what is recurring revenue, how much is churning, what did we invoice, and how much customer money are we holding.
This API is being replaced. Read before you build.
A rework is in flight on feat/analytics-foundation. It replaces today's
one-endpoint-per-metric surface with a generic one: /v1/analytics/metrics,
/series, /breakdown, /overview, /invoices/aging, plus asynchronous
/v1/reports/exports. Every response gains a meta block carrying freshness,
completeness and basis.
Use the dashboard for now. If you must integrate before the rework lands, expect the endpoint names and response shapes below to change, and talk to us first.
What is not changing
Three things are true of both the current surface and the replacement, so they are worth understanding regardless.
One currency at a time
Every money figure is scoped to a single currency, and this is not a convenience filter. Summing CHF and EUR produces something that looks like money and is not. The queries filter on currency in the database rather than converting.
To report across currencies, query per currency and convert with a rate you chose deliberately. See Exchange rates.
Stock versus flow
MRR is a stock: what is recurring right now. Revenue is a flow: what was invoiced during a period. A quiet month legitimately shows zero flow while stock is unchanged, and a chart that treats them alike will mislead you.
The replacement makes this explicit per series. Today it is something you have to hold in your head.
Wallet custody
Prepaid wallet balances are your customers' money sitting with you. It is not revenue, and it is the figure people most often forget to report. It survives the rework unchanged.
Today's endpoints
Documented briefly because they are short-lived.
| Endpoint | Answers |
|---|---|
GET /v1/analytics/mrr | Monthly recurring revenue over time |
GET /v1/analytics/churn | Subscriptions lost, over time |
GET /v1/analytics/revenue | Invoiced revenue over time |
GET /v1/analytics/wallet-custody | Customer money you are holding |
Each takes a currency. MRR counts active subscriptions, which includes ones in a trial, because a trial is a phase and not a status. Two systems can both be right and disagree about MRR by drawing that line differently, so check the definition before reconciling.
Reference
| Topic | When you need it |
|---|---|
| Subscriptions | Status and phases, the inputs to MRR |
| Invoices | Where invoiced revenue comes from |
| Wallets | The balances behind wallet custody |
| Analytics API | The current parameters and response shapes |