| Endpoint | Purpose | Handling |
|---|---|---|
| GET /api/v1/orgs/{id}/usage | Daily organisation/member totals | days=1–90, default 30; JSON or CSV. |
| GET /api/v1/orgs/{id}/usage/live | Last 60 minutes plus current totals | Poll HTTP with ETag; handle 304. Not a WebSocket endpoint. |
| GET /api/v1/orgs/{id}/members/{principal}/usage | One member's permitted detail | Self access or usage.read, with visibility filtering. |
| GET /api/v1/orgs/{id}/insights | Collaboration across team documents | range=7/30/90 or from/to up to 365 UTC days. |
orgDocuments visibility, other permitted viewers also receive document-only counters; hidden fields identify counters that must not be treated as measured zeroes. Document names can be null when the viewer lacks content access.usage-org.ts, usage-schemas.ts, events.ts, insights.ts.