{"provider":{"title":"Host Website","description":"Deploy a website instantly from HTML or Markdown content. Sites live for 365 days. Send your content (HTML or Markdown) and get back a live URL. Input: `content` (required — your HTML or Markdown), `format` (\"html\" or \"markdown\", default \"html\"), `title` (page title, optional), `css` (custom CSS to inject, optional), `slug` (custom URL slug, optional — auto-generated if omitted), `wrapInTemplate` (boolean, default true — wraps content in a responsive template). Returns: `url` (the live site URL), `slug`, `title`, `createdAt`, `expiresAt`, `contentLength`. Sites are served instantly at the returned URL. Supports full HTML documents, HTML fragments, and Markdown with automatic conversion to styled HTML. Max content size: 1MB. Perfect for: landing pages, documentation, reports, dashboards, portfolios, or any content an agent wants to publish to the web. Surface map: paid `POST /run` (publish); free `GET /s/:slug` + `HEAD /s/:slug` (serve site HTML, increments visit counter), `GET /site/:slug` + `HEAD /site/:slug` (legacy aliases for /s/:slug), `GET /stats/:slug` (JSON: title, createdAt, expiresAt, visit count), `GET /sites` (listing stub).","paidRoutes":[{"method":"POST","path":"/run","protocol":"mpp","sku":"make-website-post-run","priceUsdcMicro":"5000","pricingVersion":1,"description":"Generate and host a webpage from HTML or Markdown content. Returns a live URL valid for 365 days. After publishing, the returned slug is reachable via free routes: `GET /s/:slug` (canonical render, increments visit counter), `HEAD /s/:slug` (head-only, no body), `GET /site/:slug` (legacy alias), `GET /stats/:slug` (JSON metadata + visit count)."},{"method":"GET","path":"/sites","protocol":"mpp","sku":"make-website-get-sites","priceUsdcMicro":"0","pricingVersion":1,"description":"List sites owned by the caller (proof intent). Returns slug, title, createdAt, expiresAt for each. Backed by an owner→slug KV index, so orphan slugs (uploaded before owner tracking landed 2026-05-18) are NOT listed — re-publish them via POST /run to claim ownership."},{"method":"PUT","path":"/sites/:slug","protocol":"mpp","sku":"make-website-put-sites-slug","priceUsdcMicro":"0","pricingVersion":1,"description":"Replace the content of an existing slug. Owner-only. Re-runs the markdown → HTML / template-wrapping pipeline. Updates the visit counter's expiration. Title and format may be optionally updated; omitted fields preserve the existing value."},{"method":"DELETE","path":"/sites/:slug","protocol":"mpp","sku":"make-website-delete-sites-slug","priceUsdcMicro":"0","pricingVersion":1,"description":"Delete a hosted site early. Owner-only. Also clears CUSTOM_DOMAINS mappings that point at this slug. Cloudflare Worker Custom Domain attachments at CF's side remain — detach domains explicitly via DELETE /sites/:slug/domains/:domain first if you want a clean teardown."},{"method":"POST","path":"/sites/:slug/domains","protocol":"mpp","sku":"make-website-post-sites-slug-domains","priceUsdcMicro":"0","pricingVersion":1,"description":"Attach a custom domain (bought via domain-buy) to this slug. Caller must own both. Calls Cloudflare to register the hostname as a Worker Custom Domain on this worker (SSL auto-provisioned)."},{"method":"DELETE","path":"/sites/:slug/domains/:domain","protocol":"mpp","sku":"make-website-delete-sites-slug-domains-domain","priceUsdcMicro":"0","pricingVersion":1,"description":"Detach a custom domain from this slug. Owner-only. Removes the CUSTOM_DOMAINS KV mapping AND tears down the Cloudflare Worker Custom Domain attachment."},{"method":"GET","path":"/sites/:slug/domains","protocol":"mpp","sku":"make-website-get-sites-slug-domains","priceUsdcMicro":"0","pricingVersion":1,"description":"List custom domains attached to this slug. Owner-only. Reads from CUSTOM_DOMAINS KV — does not cross-check Cloudflare state."}],"freeRoutes":[{"method":"GET","path":"/s/:slug","description":"Serve the stored HTML for a slug. Cached for 1h. Increments visit counter."},{"method":"HEAD","path":"/s/:slug","description":"HEAD variant of /s/:slug."},{"method":"GET","path":"/site/:slug","description":"Legacy alias for /s/:slug."},{"method":"HEAD","path":"/site/:slug","description":"Legacy alias HEAD for /site/:slug."},{"method":"GET","path":"/stats/:slug","description":"Public visit / metadata stats for a slug."},{"method":"GET","path":"/"},{"method":"GET","path":"/contract"},{"method":"GET","path":"/openapi.json"},{"method":"GET","path":"/health"}]}}