COUNTCOUNT
Sign Up

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

workspaceobject

Workspace identity and accounting basis (name, currency, country, fiscalYearMonth, reportType, bookClosedThroughDate).

cashobject

Headline cash rollup — currentCash, bank/credit-card breakdown, stale provider balance count.

profitabilityobject

Journal-based revenue/expense windows (current month, quarter, YTD, TTM) plus rollingThreeMonths burn/runway.

receivablesobject

AR aging, top customers outstanding (with customer UUIDs), daysSalesOutstanding.

payablesobject

AP aging, outstanding bills, due-in-7/30-day totals, daysPayableOutstanding.

taxObligationsobject

Tax registration and open obligations (NZ GST when country is NZ).

connectionsobject

Bank feed connection health counts by provider.

asOfobject

Always present — computedAt, cacheTtlSeconds, fromCache, currency, cashAsOf.

Example
{
  "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.

Recent changes

2026-06-21

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.

2026-05-20

Workspace stats endpoint

Added workspace stats endpoint for aggregated dashboard metrics.

Endpoints