API and Markdown for LLMs
Every guide and note on this blog is also available as plain Markdown, and as a list in JSON. They're static files: GET only, no key, no sign-up. Version 1 lives under/api/v1/.
Endpoints
| Path | Returns |
|---|---|
/api/v1/ | JSON: this list of endpoints, with full URLs |
/api/v1/posts.json | JSON: every post with its title, description, dates, change history, links and cover picture |
/guides/<slug>.md, /notes/<slug>.md | Markdown: one post, the page URL with .md instead of the final slash |
/llms.txt | Markdown index for LLMs (llmstxt.org), a link per post |
/llms-full.txt | Markdown: every post in one file |
/openapi.json | OpenAPI 3.1 description of all of the above |
/.well-known/ai-plugin.json | Plugin manifest pointing at the OpenAPI file |
Examples
# The Markdown link of every postcurl -s https://blog.jacq.cc/api/v1/posts.json | jq -r '.posts[].markdown_url'
# One post as Markdowncurl -s https://blog.jacq.cc/guides/client-certificates-home-assistant-vaultwarden-gitea.mdThe response of /api/v1/posts.json, cut to one post:
{ "site": "https://blog.jacq.cc/", "title": "HomeLab Guides", "description": "…", "license": { "name": "CC BY 4.0", "url": "https://creativecommons.org/licenses/by/4.0/", "credit": "HomeLab Guides (blog.jacq.cc)", "details": "https://blog.jacq.cc/licence/" }, "count": 1, "posts": [ { "id": "guides/client-certificates-home-assistant-vaultwarden-gitea", "kind": "guide", "title": "Reach Home Assistant, Vaultwarden and Gitea from anywhere with your own client certificates", "description": "One port forward to Nginx Proxy Manager, a small certificate authority of my own and one nginx rule. From outside, only my devices get an answer; at home, nothing changes. No VPN, no tunnel, no third party in the middle.", "url": "https://blog.jacq.cc/guides/client-certificates-home-assistant-vaultwarden-gitea/", "markdown_url": "https://blog.jacq.cc/guides/client-certificates-home-assistant-vaultwarden-gitea.md", "published": "2026-10-16", "updated": "2026-10-16", "changes": [], "discussion": {}, "cover": { "url": "https://blog.jacq.cc/_astro/cover.D_f0XYh-.svg", "alt": "A drawing of this guide: a phone shows a certificate with a gold seal and gets a green tick through a shield with a padlock in front of a house, while a browser window without a certificate is stopped by a red no-entry sign" } } ]}Crawlers and AI
Search engines, AI crawlers and assistants are all welcome. robots.txtallows them by name and says so with content signals: search, AI answers and AI training are all yes. Image files aren't in the Markdown; each image is described in words where it was.
Licence
The posts are CC BY 4.0, and the code downloads MIT: copy, quote, adapt and train on them, crediting "HomeLab Guides (blog.jacq.cc)" with a link to the page. Every Markdown file ends with that line, and /api/v1/posts.json carries it as license. Details: Licence and privacy.
Text, photos and drawings: CC BY 4.0. Code: MIT. Share and adapt them, crediting HomeLab Guides (blog.jacq.cc). Licence and privacy