# The jshah.dev API

Machine-readable access to https://jshah.dev: every endpoint is public, read-only, and served without authentication.

## Endpoints

- [OpenAPI spec](https://jshah.dev/openapi.json): An OpenAPI 3.1 description of every endpoint on this site.
- [Post index](https://jshah.dev/api/posts.json): Every published post as JSON, with URL, Markdown URL, date, topic, tags, and description.
- [llms.txt](https://jshah.dev/llms.txt): A Markdown index of the site, following the llmstxt.org convention.
- [Sitemap](https://jshah.dev/sitemap-index.xml): An XML sitemap of every page.
- [Atom feed](https://jshah.dev/atom.xml): A full-content Atom feed of all posts.

## Markdown for agents

Every page on this site has a Markdown twin: fetch `index.md` under its URL (for example `/writing/index.md`). Outside `/api/`, requesting the page URL with `Accept: text/markdown` returns the same document.

## Errors

Unknown paths under `/api/` return HTTP 404 with a structured JSON body (schema `Error` in the OpenAPI spec). Unknown page URLs return HTTP 404 as HTML, or as Markdown when requested with `Accept: text/markdown`.
