# Hotdry Blog > Extended retrieval guide for agents consuming the public Hotdry Blog origin. ## Runtime The recommended public path is `CDN/ESA -> cnb origin service -> OSS state`. Content is published as versioned objects in OSS and served without a local content workspace or `content-cache/live` style disk sync. ## Discovery - [llms.txt](https://blog.hotdry.top/llms.txt): Minimal discovery root. - [RSS Feed](https://blog.hotdry.top/rss.xml): Latest post entries in reverse chronological order. - [Sitemap](https://blog.hotdry.top/sitemap.xml): Canonical HTML URLs. - [Agent Sitemap](https://blog.hotdry.top/agent-sitemap.xml): Machine-facing discovery URLs. - [Changes API](https://blog.hotdry.top/api/changes): Incremental release history keyed by content version. - [Capabilities API](https://blog.hotdry.top/api/capabilities): Machine-readable endpoint and command catalog. - [Search API](https://blog.hotdry.top/api/search?q=ai&limit=5): Keyword search endpoint. - [Agent Protocol](https://blog.hotdry.top/agent-protocol/): Human-readable explanation of the delivery model. ## Canonical Routes - [Home](https://blog.hotdry.top/): Main landing page. - [Archive](https://blog.hotdry.top/archive/): Archive landing page. - [Categories](https://blog.hotdry.top/categories/): Category landing page. - [About](https://blog.hotdry.top/about/): Author and site context. Canonical article URLs live under `https://blog.hotdry.top/posts//`. ## JSON APIs - [Feed API](https://blog.hotdry.top/api/feed/): Reverse-chronological post summaries. - [Categories API](https://blog.hotdry.top/api/categories/): Category list and counts. - [Archive API](https://blog.hotdry.top/api/archive/): Archive tree by year and month. - [Site Meta API](https://blog.hotdry.top/api/site-meta): Generation metadata and aggregate counts. - [Changes API](https://blog.hotdry.top/api/changes): Release chain and changed/removed slugs since a content version. - [Capabilities API](https://blog.hotdry.top/api/capabilities): Endpoint map and executable curl snippets. - [Search API](https://blog.hotdry.top/api/search): Search posts with `q`, `category`, `year`, `month`, `page`, and `limit`. When a slug is known from the feed or sitemap, the article payload is available at `/api/posts//` and the raw Markdown export is available at `/api/posts/.md`. ## Retrieval Notes - Prefer `rss.xml` or `/api/feed/` to discover recent posts. - Prefer `/sitemap.xml` to enumerate canonical public pages. - Use `/api/categories/` and `/api/archive/` for structured browsing. - Use `X-Content-Version` or `/__meta/version.txt` as the stable incremental token, then query `/api/changes?since=`. - Fetch `/posts//` for canonical human-facing content and `/api/posts//` for structured metadata. - Fetch `/api/posts/.md` or send `Accept: text/markdown` to `/posts//` when raw Markdown is preferred. - Fetch `/api/capabilities` to programmatically discover API routes and sample commands. - Use `/api/search?q=&limit=` to find candidate slugs before fetching post details. - `llms.txt` and `llms-full.txt` are generated during the OSS state publish step and exposed directly by the origin service. ## Curl Cookbook - `curl -fsS 'https://blog.hotdry.top/llms.txt'` - `curl -fsS 'https://blog.hotdry.top/api/capabilities'` - `curl -fsS 'https://blog.hotdry.top/api/search?q=cdn&limit=5'` - `curl -fsS 'https://blog.hotdry.top/api/feed/?page=1'` - `curl -fsS 'https://blog.hotdry.top/api/changes?limit=20'` - `curl -fsS -H 'Accept: text/markdown' 'https://blog.hotdry.top/posts//'` ## Constraints - The public origin resolves `/posts/*`, `/archive/*`, `/categories/*`, and `/api/*` without edge rewrites. - The mainline production path does not depend on `CONTENT_REPO_DIR`, `publish-static-release.js`, or `content-cache/live`.