# his.fm

> Chinese solo podcast production studio.

## Editorial priority

Global prompt > selected category prompt > episode intent > source material. Authenticated agents must read current guidance before every creative task. Read https://his.fm/api/agent/channel/prompt-slots and https://his.fm/api/agent/categories/:id/prompt-slots with prompts:read; use ?slot=editor,collector for merged enabled roles after both levels are initialized. Prompt-slot writes require prompts:write and the current collection version. Legacy channel content, channel.prompts.* and category.prompt are deprecated read-only projections; PUT /channel is retired. Migration is never automatic: GET each slot table's /migration/dry-run with prompts:read, inspect the split, then explicitly POST /migration/apply with prompts:write, version and legacyVersion. See onboarding for backups, idempotency and append/override semantics.

## Agent API

- [Service discovery](https://his.fm/api/agent): Scoped external REST content management.
- [OpenAPI 3.1](https://his.fm/api/agent/openapi.json): Complete machine-readable contract.
- [API onboarding](https://his.fm/api/agent/instructions): Authentication, scopes, versioned content operations.

## Public discovery

- [Sitemap](https://his.fm/sitemap.xml): Published routes, categories and episodes.
- [Robots](https://his.fm/robots.txt): Crawler rules and sitemap reference.
- [Site RSS](https://his.fm/feed.xml) and per-category feeds at https://his.fm/feeds/{categoryId}.xml.
- [LLM summary](https://his.fm/llms-full.txt): Expanded public catalogue for assistants.

Discovery is public; all production data requires a studio-issued bearer token. Public pages and /api/episodes never include episode transcripts; authenticated agent and admin APIs retain them. This service does not expose MCP or A2A.
