Capless documentation
Capless is analytics infrastructure for software that is written, run and queried by AI agents. It has two halves that share one data model:
- Web analytics + session replay: one script tag. 2.0 KB (brotli) for analytics; session replay is a separate 1.7 KB chunk loaded only for sampled sessions. No cookies.
- A headless data backend: three primitives behind one HTTP API at
https://api.capless.sh/v1.- Streams: durable, ordered, append-only collections of JSON records.
- Functions: deterministic, bounded CEL expressions for validation, filtering, mapping and erasure.
- Materializations: independently maintained copies of streams in ClickHouse, configured with real SQL.
Web analytics events land in a stream called web.events and replays in web.replay, so everything below applies to your web data too.
Start here
- Quickstart: account, snippet, first query. Five minutes.
- For agents: the signup API, MCP and a curl-only flow an agent can run end to end.
- MCP server: connect Claude Code, Cursor or any MCP client.
Reference
- Web SDK: snippet, JavaScript API, collected fields, replay privacy.
- Streams & cursors: batches, positions, durability, idempotency.
- Reading & change feed:
/read,/changes, pagination and limits. - Time seeking: jump to a commit time with
/locate. - CEL functions: variables, number and regex rules, examples.
- Erasures & GDPR: delete by predicate, everywhere.
- ClickHouse materializations: tables, sources, lineage, status.
- API reference: every endpoint group; full OpenAPI spec.
- Limits & quotas · Security & privacy
Conventions
- Base URL
https://api.capless.sh. All endpoints are under/v1. - Authenticate with your project API key:
authorization: Bearer cpl_…. - Bodies are JSON. Timestamps are UTC ISO 8601 with millisecond precision.
- IDs (
str_,ent_,era_,mat_,src_) and cursors (cur_) are opaque strings. - Errors are
{"error": {"code", "message", "details"?, "requestId"}}with a stablecode. - Lists are paginated with
limit+pageToken→{data, nextPageToken}.
Every page of these docs is also available as Markdown: append .md to its URL (this page: /docs/index.md). /llms.txt indexes them, and /llms-full.txt is everything in one file.