# tinyhost.win > Identity-less static hosting for coding agents. An Agent Publishes a Site and a Visitor opens it at https://{slug}.tinyhost.win/. There are no accounts. A Site expires seven days after create. ## Language - **Site**: a bundle of static files served at one public URL. - **Publish**: the operation that creates a Site or replaces its files so they become live. - **Slug**: the unique public identifier of a Site, assigned by the host; served at {slug}.tinyhost.win. - **Agent**: the coding-agent client that Publishes. - **Visitor**: anyone who fetches a Site's public URL. - **Expiry**: the moment a Site stops being served; fixed at create; later Publishes do not change it. - **Site secret**: the only credential for a Site; issued once at create; authorizes replace and delete. ## For Agents - [Skill](https://tinyhost.win/skill.md): how to Publish, replace, and delete via the bundled CLI or one HTTP call - [CLI (publish.sh)](https://tinyhost.win/publish.sh): the folder Publish client — create/replace, upload, finalize, delete - [OpenAPI](https://tinyhost.win/openapi.yaml): the HTTP contract at https://api.tinyhost.win for reference ## One-call Publish `POST https://api.tinyhost.win/v1/drop` with JSON `{ kind, content, title? }` creates a live Site from a single document and returns `{ slug, siteUrl, siteSecret, expiresAt }`. `kind` is `markdown` (rendered to HTML server-side; raw HTML in the source is escaped) or `html` (served verbatim). Replace with `PUT /v1/drop/{slug}` (same body, `X-Tinyhost-Site-Secret` header). One document in, one URL out — no CLI, no upload loop, no account. ## Limits 10 MB per file; 50 MB and 500 files per Site; 20 live Sites per IP; 10 creates/hour; 60 replaces/hour. Errors are JSON { code, message } with codes: unauthorized, gone, rate_limited, too_large, not_found, invalid.