FOLK running across desktop, mobile and the browser
← Folk

FOLK for developers

Everything on this page is public, stable and safe to poll. If you are an agent, start with llms.txt or openapi.json - they say the same thing in fewer tokens.

Agents

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

  • GET /llms.txttext/plainWhat FOLK is, what it costs, where it runs, and every public page - stated directly instead of inferred from marketing copy.
  • GET /sitemap.xmlapplication/xmlStandard sitemap. Includes the changelog permalinks, whose lastmod is the post's own date.
  • GET /robots.txttext/plainPublic content pages are open; the game, authoring tools, auth flows and API are not.
  • GET /openapi.jsonapplication/jsonOpenAPI 3.1 description of every endpoint on this page.

Identity

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

  • GET /.well-known/site.standard.publicationtext/plainVerification 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.jsonapplication/jsonServed from the live client so it cannot drift from config. Its URL is our client_id.
  • GET /api/atproto/jwks.jsonapplication/jsonJSON Web Key Set for the OAuth client above.

App

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

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

Markdown content negotiation

Every page listed in llms.txt has a markdown representation. Ask for it and you get 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 (/about.md, /index.md for the home page) returns the same document whatever your Accept header says. A client that accepts neither HTML nor markdown gets a 406; an unknown path gets a 404 whose body is a markdown map of where to go instead. Implemented to acceptmarkdown.com.

AT Protocol

FOLK publishes to the AT Protocol network under the DID did:plc:ijmfftrkmxdxndel5hbxhzn3, with the handle folk.lol.

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

Elsewhere

What FOLK is, every way to play, and the FAQ. Bugs, questions and API requests: contact@folk.lol.

Hi folk! Can I tell you about our newsletter?
Okka