{"uid":"cap_NEK-El9UkLsZQTBFh1CgP","slug":"host-withzero-ai-static-website-upload-6b5dcf40","name":"host.withzero.ai Static Website Upload","description":"Upload a static website. Returns the live URL. Caller wallet is stamped as the slug owner; owners can edit/delete or attach custom domains via the other routes.","url":"https://host.withzero.ai/run?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["content"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":64,"minLength":3,"description":"Optional custom slug for the URL (lowercase alphanumeric + hyphens). Random if omitted."},"content":{"type":"string","maxLength":2000000,"minLength":1,"description":"HTML, Markdown, or plain text content to publish. Full HTML pages work best."},"ttlHours":{"type":"number","default":4320,"maximum":4320,"minimum":0.5,"description":"Time-to-live in hours (0.5–4320, i.e. 30 min to 180 days). Default: 4320 (180 days)."}},"additionalProperties":false},"responseSchema":{"type":"object","required":["url","slug","expiresAt","ttlHours","ttl","size","owner","note"],"properties":{"ttl":{"type":"string","description":"Human-readable TTL summary (e.g. \"14 days\", \"12 hours\"). Derived from ttlHours."},"url":{"type":"string","description":"Live URL of the published site"},"note":{"type":"string","description":"Operational summary. Includes the actual TTL applied, expiration timestamp, and how to refresh."},"size":{"type":"number","description":"Content size in bytes"},"slug":{"type":"string","description":"The slug portion of the URL"},"owner":{"type":"string","description":"Wallet that owns this slug (caller's address)"},"ttlHours":{"type":"number","description":"TTL (hours) applied to this upload. Default 4320 (180 days). Pass `ttlHours` in input to set a different value (min 0.5, max 4320). PUT /sites/:slug with a new ttlHours to refresh; otherwise the slug expires at `expiresAt`."},"expiresAt":{"type":"string","description":"ISO 8601 expiration timestamp"}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"0","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"proven_free","priceSource":"registry","requiresHandshake":false,"reviewCount":2,"rating":{"score":"1.00","successRate":"0.99","reviews":2,"stars":"5.0","state":"rated"},"availabilityStatus":"healthy","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"metered","summary":"metered — billed by usage","primary":{"kind":"metered","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"},"accepted":[{"kind":"metered","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"}]},"paymentMethods":[{"uid":"pm_vyv7jrUtO38NVq3P7uOFk","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0","costPer":"request","priority":0,"asset":"0x20C000000000000000000000b9537d11c60E8b50","unit":"request","depositMicros":null,"planRef":"host-site-post-run:1"}],"brandName":"host.withzero.ai","brandSlug":"host-withzero-ai-mpp","brandBaseUrl":"https://host.withzero.ai","brandDocsUrl":null,"whatItDoes":"Publishes HTML, Markdown, or plain text as a live static website and returns the public URL, with the caller's wallet stamped as slug owner.","exampleAgentPrompt":"Publish this HTML page for me and give me a live link — use the slug 'my-launch-page' and keep it up for 30 days: <!DOCTYPE html><html><body><h1>We're launching soon!</h1></body></html>","exampleUseCases":[{"title":"Instant landing page for product launch","prompt":"Take this HTML and publish it as a live webpage with the slug 'acme-launch' — it should stay up for 60 days: <!DOCTYPE html><html><body><h1>Acme is here!</h1><p>Sign up for early access.</p></body></html>"},{"title":"Temporary event invite page","prompt":"Host this HTML for me as a short-lived page — use the slug 'summer-party-2025' and set it to expire in 48 hours: <!DOCTYPE html><html><body><h1>You're Invited!</h1><p>Saturday, July 12th, 7pm.</p></body></html>"},{"title":"Markdown documentation page","prompt":"Publish this Markdown content as a live webpage with the slug 'api-docs-v2' and keep it up for 180 days: # API Docs\n\n## Getting Started\nWelcome to version 2 of our API."}],"resultDescription":"Returns a JSON object with the live public URL of the published site, the slug portion of the URL, the owner wallet address, content size in bytes, the TTL in hours and human-readable form, and an ISO 8601 expiration timestamp plus an operational note about how to refresh or extend the TTL.","failureModes":["Content missing or empty — required 'content' field not provided","Content too large — exceeds 2,000,000 character maximum","Slug already taken by another owner — returns conflict error","Slug format invalid — must match ^[a-z0-9-]+$ and be 3–64 characters","TTL out of range — must be between 0.5 and 4320 hours","Unauthorized wallet — caller not authenticated or wallet not stamped","Server or storage error — upstream R2 or hosting failure"],"whenToPreferThis":"Choose this endpoint when you need to instantly publish HTML, Markdown, or plain text as a live public webpage without managing servers, DNS, or deployment pipelines. It's ideal for ephemeral or semi-permanent content (30 minutes to 180 days) where you want ownership tied to a wallet address and the ability to later update, delete, or attach a custom domain. Prefer it over general cloud storage for use cases where a human-readable live URL matters and content needs to be browser-accessible.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":154,"lastUsedAt":"2026-10-02T15:55:28.640Z","lastSuccessfullyRanAt":"2026-10-02T15:55:28.640Z","lastHealthCheckAt":"2026-10-02T14:56:07.630Z","isFirstParty":true,"canonicalSlug":"host-withzero-ai-static-website-upload-6b5dcf40"}