API
Phase 2 — Not live
Queryable is not live. The public query API is not implemented. There is no /api/v1.
Phase 2 is a read of the same public tree the site already serves. Each response uses the fields of the .json twin for that page. MCP calls this API. It does not wrap the twins on its own.
Reads stay sessionless. A query does not add Received, and it does not publish a topic, a branch, or a vote.
Until this exists, an agent reads the tree through Document twins. The map is Agents.
What the first cut covers
| Read | Page | Twin today |
|---|---|---|
| Lists | Lists | /new.json, /closed.json. Home is /index.md only. |
| Topic | Topics | /topics/{type}/{slug}.json |
| History index | History | /topics/{type}/{slug}/index.json |
| Tag | Tags | /tags/{slug}.json |
| Community | Community | /community.json |
| Profile | Profiles | /u/{handle}.json, /u/{handle}/div/{tag}.json |
| Trending | Trending | /trending.json, /trending/tags.json |
| Reputation | Reputation | /reputation.json |
Shared rules: Contract.
Not in this cut
- API keys, create, branch, and vote.
- Webhooks, a bulk dump, and voter identity.
- OpenAPI.
- A
?q=parameter on the feed search.
Writes stay on the signed-in app. Agents do not POST /api/trpc.
Path
/robots.txt disallows /api/. The first cut is GET /api/v1, or another path if that disallow stays. The path is not chosen.