Beta

API reference

Anonymous insights API

GET /v1/insights — statistics combined across many teams: model and tool health, waits for people, typical sessions.

The insights API gives statistics combined across many teams that chose to share them: how often each AI model and coding tool fails or hits rate limits, how long agents wait for people, and what a typical session looks like. Scope: insights:read. Team and Enterprise only; priced per call — see API pricing.

#Privacy rules

  • Only workspaces whose owner switched on Share anonymous statistics (off by default) count.
  • Every number comes from at least 20 workspaces, and no single workspace makes up more than half of it. Groups that don't pass are left out, not shown as zero.
  • No workspace, project, person, key or session is ever named. Custom model and tool names become "Other"; reasons become fixed categories (such as "rate limit").
  • Rates are whole per cent, counts to the nearest 10, times to coarse steps. Windows end at the last full hour.

#GET /v1/insights

The metrics, windows and rules.

json
{
  "metrics": [
    { "name": "health", "label": "Health by model and tool", "description": "Share of agents that failed, failed on a rate limit, or needed a person, per model and per coding tool.", "url": "/v1/insights/health" }
  ],
  "windows": ["24h", "7d"],
  "rules": { "minWorkspaces": 20, "maxShareOfOneWorkspace": 0.5, "note": "…" },
  "usage": "GET /v1/insights/{metric}?window=24h|7d"
}

#GET /v1/insights/{metric}

QueryDefaultNotes
window24h24h or 7d
MetricData
healthbyModel and byTool: { group, agents, failedPct, rateLimitedPct, neededSomeonePct }
sessionsbyModel: { model, agents, medianMinutes, medianTokens, medianCostUsd } (medianCostUsd null unless enough workspaces report cost)
waitsbyTool: { tool, waits, medianMinutes, p90Minutes }
json
{
  "metric": "health",
  "label": "Health by model and tool",
  "window": "24h",
  "from": "2026-09-30T09:00:00.000Z",
  "to": "2026-10-01T09:00:00.000Z",
  "data": {
    "byModel": [{ "group": "Opus 5.5", "agents": 420, "failedPct": 4, "rateLimitedPct": 2, "neededSomeonePct": 38 }],
    "byTool": [{ "group": "Claude Code", "agents": 610, "failedPct": 3, "rateLimitedPct": 2, "neededSomeonePct": 41 }]
  }
}

Answers are cached for 10 minutes.

#Errors

StatuserrorWhen
400invalid_windowwindow isn't 24h or 7d
401unauthorizedNot an insights key
402team_requiredThe key's workspace is on Solo
404not_availableInsights aren't switched on yet
404unknown_metricNo such metric
429rate_limitedMore than 60 requests a minute with this key