Open Lab developer docs

Open Lab is built on ATProto and the open site.standard.* lexicons, so most of it is already machine-readable. Everything below requires no API key.

For agents

  • Send Accept: text/markdown with any page request to get the markdown variant (responses carry Vary: Accept, Accept-Encoding).
  • Agent instructions / when-to-use: /llms.txt
  • MCP server (Streamable HTTP JSON-RPC): /.well-known/mcp — tools get_frontpage, get_post, list_concepts.

HTTP API

Full machine-readable description in the OpenAPI spec (/openapi.json).

GET/api/v1/posts?limit=25Public JSON list of indexed posts with karma and comment counts.
GET/api/v1/markdown?path=/…Markdown variant of any site page (same as Accept: text/markdown).
POST/api/v1/backfillIndex an actor's ATProto records. Body: {"actor": "handle-or-did"}.
POST/api/v1/postsCreate a post (OAuth session; writes site.standard.document to your PDS).
POST/api/v1/commentsCreate a comment or named reaction (OAuth session).
POST/api/v1/votesRecommend a post. Karma equals the recommend count (OAuth session).
POST/api/v1/subscriptionsFollow an author/publication (OAuth session).

Other resources

  • /sitemap.xml — all indexable URLs
  • Lexicons: site.standard.document, site.standard.publication, site.standard.graph.recommend, site.standard.graph.subscription (published by leaflet.pub; legacy pub.leaflet.* still indexed)
  • Source & issues: the forum is a Next.js app porting LessWrong’s design