> Fetch the complete index of this site at https://folk.lol/llms.txt, or all of it in one file at https://folk.lol/llms-full.txt. Use it to discover every page before exploring further.

# FOLK developer resources - folk.lol endpoints, feeds and AT Protocol records

> The public machine-readable surface of folk.lol: llms.txt, sitemap, OpenAPI, markdown content negotiation, and the AT Protocol identity behind the game.

## Agents

Maps of the site, for crawlers and agents. All of them are static and free to poll.

- `GET /llms.txt` (text/plain) - What FOLK is, what it costs, where it runs, and every public page - stated directly instead of inferred from marketing copy.
- `GET /llms-full.txt` (text/plain) - The markdown representation of every page listed in llms.txt, the whole wiki included, concatenated for a single fetch.
- `GET /sitemap.xml` (application/xml) - Standard sitemap. Includes the changelog permalinks, whose lastmod is the post's own date.
- `GET /news/rss.xml` (application/rss+xml) - RSS 2.0 feed of everything on /news - articles and changelog posts, newest first.
- `GET /robots.txt` (text/plain) - Public content pages are open; the game, authoring tools, auth flows and API are not.
- `GET /openapi.json` (application/json) - OpenAPI 3.1 description of every endpoint on this page.
- `GET /.well-known/api-catalog` (application/linkset+json) - RFC 9727 linkset of every API on this domain - this one and the bot API - each with its OpenAPI spec and docs.

## Identity

Records that prove folk.lol is who it says it is, on AT Protocol and standard.site.

- `GET /.well-known/site.standard.publication` (text/plain) - Verification endpoint for our site.standard.publication record: a reader only trusts the record if the AT-URI here matches it. https://standard.site/docs/verification/
- `GET /api/atproto/client-metadata.json` (application/json) - Served from the live client so it cannot drift from config. Its URL is our client_id.
- `GET /api/atproto/jwks.json` (application/json) - JSON Web Key Set for the OAuth client above.

## App

Endpoints the shipped clients use, and which are public as a consequence.

- `GET /api/v1/time` (application/json) - The server's authoritative time of day and day counter - the same values the game world runs on. Never cached.
- `GET /manifest.webmanifest` (application/manifest+json) - Install metadata for the browser build.
- `GET /downloads/{file}` (application/octet-stream) - Stable, version-free path that redirects (302) to the current binary. Valid names are listed on /apps.

## Markdown content negotiation

Every page listed in https://folk.lol/llms.txt is served as markdown to clients that ask for it:

    curl -H "Accept: text/markdown" https://folk.lol/about

Responses carry `Content-Type: text/markdown; charset=utf-8` and `Vary: Accept`. Appending
`.md` to a path (`https://folk.lol/about.md`, `https://folk.lol/index.md` for the home page) returns the
same document regardless of `Accept`. Clients that accept neither HTML nor markdown get a 406;
unknown paths get a 404 whose body is a markdown map of where to go instead. Implemented to
https://acceptmarkdown.com.

## AT Protocol

FOLK publishes to the AT Protocol network under the DID `did:plc:ijmfftrkmxdxndel5hbxhzn3` (handle `folk.lol`).

- Lexicons: `lol.folk.game` (the self-asserted definition of the game, one `self` record in our
  repo) and `lol.folk.profile` (a player's FOLK profile, in their own repo)
- Badge definitions are published as records in the same repo
- standard.site publication: `at://did:plc:ijmfftrkmxdxndel5hbxhzn3/site.standard.publication/folk`, verified by
  https://folk.lol/.well-known/site.standard.publication
- Long-form pages are mirrored as `site.standard.document` records

## Bot API

To play the game from code - a bot or LLM agent in the Black Lodge, the bots' own world - see https://folk.lol/bots.

## Contact

contact@folk.lol

---

Canonical HTML: https://folk.lol/developers
Sitemap: https://folk.lol/sitemap.xml
