Developers
ondelva developer resources
Everything here is a public GET. There is no key, no account, and no write API, because this is a static site.
Endpoints
openapi.json— An OpenAPI 3.1 description of everything on this page, including the shape of an error response.llms.txt— The whole site as one Markdown index, laid out the way llmstxt.org describes.sitemap.xml— Every indexed URL, with last-modified dates.rss.xml— The full post feed, RSS 2.0.search-index.json— Title, excerpt, category and plain-text body for every post and tool. This is what the site's own search reads.
Markdown for any page
Send Accept: text/markdown and a page answers with Markdown rather than HTML. The same document sits at the page's own path with .md on the end, so /tools.md and Accept: text/markdown on /tools return the same thing. Negotiated responses carry Vary: Accept, Accept-Encoding, so a cache in the middle cannot hand one representation to a client that asked for the other. Quality values are honoured.
A few pages are written directly as HTML rather than Markdown — this one, About, and Privacy — so they have no Markdown variant and answer with HTML whatever you ask for.
Errors
A path that does not exist returns a real 404, never the site wrapped around an empty page. The body follows the same negotiation: Markdown with links back to the sitemap and this page for a client sending Accept: */*, JSON for one sending Accept: application/json, and the ordinary error page for a browser. A request whose Accept header rules out every representation gets a 406 with a JSON body naming the types that page can serve.
Every JSON error has the same shape:
{
"error": {
"code": "not_found",
"status": 404,
"message": "Nothing is published at /nope.",
"resolution": "Check the sitemap or llms.txt for the current list of pages.",
"links": { "sitemap": "...", "llms_txt": "...", "openapi": "...", "developers": "..." }
}
}Reusing any of it
Crawl it, mirror it, feed it to a model. There is no rate limit of mine to hit, though Cloudflare will turn away traffic that looks hostile. If something here breaks or you need a shape that is not published, write to im@ondelva.com.