API Reference
Workspace Stats
Aggregated CFO-style business snapshot for a workspace — cash, profitability, receivables, payables, tax obligations, and bank connections in one GET call.
Last updated 2026-06-21
Overview
The Workspace Stats API returns an aggregated business snapshot for the authenticated workspace. It is the single call to populate an end-of-period dashboard or answer "how is the business doing right now?"
Optional `include` query parameter selects which blocks to compute. Omit `include` to return every block. Responses are cached in Redis for five minutes per workspace and include `asOf` metadata describing cache state.
Key concepts
Include blocks
Pass `include` as a comma-separated list: workspace, cash, profitability, receivables, payables, taxObligations, connections. Unknown tokens are ignored; if every token is unknown, all blocks are returned.
Caching
Full responses cache for five minutes. `asOf.fromCache` is true on cache hits; `asOf.cacheTtlSeconds` is the remaining TTL.
Sign conventions
Profitability blocks use positive revenue and expenses with netProfit = revenue - expenses. P&L report rows use a different sign convention — see the Reports API.
DSO and DPO
daysSalesOutstanding and daysPayableOutstanding require trailing-twelve-month data from the profitability block. Request include=profitability,receivables (or omit include for the full payload).
The workspaceStats object
Top-level blocks returned under `data.workspaceStats`. The `asOf` block is always present.
Attributes
workspaceobjectWorkspace identity and accounting basis (name, currency, country, fiscalYearMonth, reportType, bookClosedThroughDate).
cashobjectHeadline cash rollup — currentCash, bank/credit-card breakdown, stale provider balance count.
profitabilityobjectJournal-based revenue/expense windows (current month, quarter, YTD, TTM) plus rollingThreeMonths burn/runway.
receivablesobjectAR aging, top customers outstanding (with customer UUIDs), daysSalesOutstanding.
payablesobjectAP aging, outstanding bills, due-in-7/30-day totals, daysPayableOutstanding.
taxObligationsobjectTax registration and open obligations (NZ GST when country is NZ).
connectionsobjectBank feed connection health counts by provider.
asOfobjectAlways present — computedAt, cacheTtlSeconds, fromCache, currency, cashAsOf.
{
"workspace": {
"uuid": "ws-uuid-example-0000-4000-8000-000000000001",
"name": "Acme Workspace",
"currency": "USD",
"country": "US",
"industry": "Professional Services",
"fiscalYearMonth": 1,
"dateFormat": "MM/dd/yyyy",
"cutoverDate": "2025-01-01",
"reportType": "accrual",
"bookClosedThroughDate": null
},
"cash": {
"currentCash": 42500.75,
"currentCashAsOf": "2026-06-21T08:00:00.000Z",
"bankAndCashAssetsTotal": 45000,
"creditCardLiabilitiesTotal": 2499.25,
"accountSourceCounts": {
"provider": 2,
"reconciliation": 1,
"book": 0,
"missing": 0
},
"staleProviderBalanceAccountCount": 0
},
"profitability": {
"currentMonth": {
"startDate": "2026-06-01",
"endDate": "2026-06-21",
"revenue": 18500,
"expenses": 11200,
"netProfit": 7300
},
"rollingThreeMonths": {
"averageMonthlyRevenue": 16000,
"averageMonthlyExpenses": 10500,
"averageMonthlyNetProfit": 5500,
"netBurn": 5500,
"runwayMonths": 7.7
}
},
"receivables": {
"totalOutstanding": 1085,
"currentDueTotal": 1085,
"overdueTotal": 0,
"overdueCount": 0,
"agingBuckets": {
"notYetOverdue": 1085,
"lessThanOrEqualTo30": 0,
"between31And60": 0,
"between61And90": 0,
"moreThan90": 0
},
"topCustomersOutstanding": [
{
"uuid": "dfa3219e-6af8-4c53-997a-037534f63a35",
"name": "Acme Corporation",
"outstanding": 1085
}
],
"daysSalesOutstanding": 12
},
"payables": {
"totalOutstanding": 3200,
"outstandingBills": 3200,
"dueInNext7Days": 800,
"dueInNext30Days": 2400,
"daysPayableOutstanding": 18
},
"taxObligations": {
"isTaxRegistered": false,
"taxRegime": null,
"totalObligation": 0,
"hasOverdueOrUpcomingFiling": false,
"obligations": [],
"lastFiledPeriodEnd": null
},
"connections": {
"totalCount": 2,
"activeCount": 2,
"disconnectedCount": 0,
"revokedCount": 0,
"accountsAwaitingReauthCount": 0,
"staleConnectionCount24h": 0,
"oldestLastSyncAt": "2026-06-21T06:30:00.000Z",
"byProvider": {
"plaid": 1,
"akahu": 1
}
},
"asOf": {
"computedAt": "2026-06-21T12:00:00.000Z",
"cacheTtlSeconds": 300,
"cashAsOf": "2026-06-21T08:00:00.000Z",
"currency": "USD",
"fromCache": false
}
}MCP equivalent
MCP tool COUNT_get_workspace_stats maps to this same GET route with identical query parameters.Partial payloads
Request only the blocks you need — for example `?include=cash,profitability,receivables` — to reduce compute time.Related
Recent changes
Complete Partner API reference
Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.
Workspace stats endpoint
Added workspace stats endpoint for aggregated dashboard metrics.
