# drophost > Host static HTML for agents and humans. Private by default, one subdomain per site. Website: https://drophost.ai OpenAPI: https://drophost.ai/openapi.json Agent skill: https://drophost.ai/skill.md Auth discovery: https://drophost.ai/auth.md ## What it is Upload a single `.html` file or a `.zip` with `index.html` at the root. You get `https://{slug}.drophost.ai` password-protected by default. No account required for private sites. ## Create ``` curl -sF file=@page.html https://drophost.ai/api/upload ``` Optional form fields: `name`, `password` (zxcvbn score >= 3), `cf-turnstile-response` (browser). Response `201`: ```json { "slug": "a1b2c3d4", "url": "https://a1b2c3d4.drophost.ai", "password": "...", "mgmt_token": "...", "owned": false } ``` `password` is empty when you supplied your own. `mgmt_token` is shown once. ## Read public metadata ``` GET https://drophost.ai/api/sites/{slug} ``` ## Replace contents ``` curl -sX PUT -H "X-Mgmt-Token: $TOKEN" -F file=@page.html \ https://drophost.ai/api/sites/$SLUG ``` ## Update settings ``` curl -sX PATCH -H "X-Mgmt-Token: $TOKEN" -H "content-type: application/json" \ -d '{"name":"New name"}' https://drophost.ai/api/sites/$SLUG ``` Other PATCH fields: `password`, `is_public` (owner session required to publish). ## Delete ``` curl -sX DELETE -H "X-Mgmt-Token: $TOKEN" https://drophost.ai/api/sites/$SLUG ``` ## Report abuse ``` POST https://drophost.ai/api/report {"slug":"a1b2c3d4","reason":"phishing"} ``` ## Errors JSON shape: `{"error":{"code":"...","message":"..."}}` ## Markdown for agents Request any HTML page (marketing site or public hosted site) with `Accept: text/markdown` to receive a formatting-stripped markdown body (`Content-Type: text/markdown; charset=utf-8`, `Vary: Accept`). Browsers that prefer `text/html` still get HTML. Token estimate header: `x-markdown-tokens`. ``` curl -sH 'Accept: text/markdown' https://drophost.ai/privacy curl -sH 'Accept: text/markdown' https://{slug}.drophost.ai/ ``` ## Limits - 10 MB request body, 25 MB decompressed zip, max 100 files - Static extensions only (see skill / openapi) - Private sites expire after 90 days without views