{"uid":"cap_9D_skXut99eNMD3iTGhoA","slug":"cdn-withzero-xyz-static-site-file-cdn-upload-a0d9f22f","name":"cdn.withzero.xyz Static Site & File CDN Upload","description":"Host a static website on a fast public CDN — upload a zip of your site (kind:site) and it is served instantly at /<walletId>/<slug>/. Also doubles as a one-off file host (kind:file) for individual assets like images, PDFs, or JSON.","url":"https://cdn.withzero.xyz/api/v1/uploads","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["data"],"properties":{"ext":{"type":"string","maxLength":8,"minLength":1,"description":"Required only for kind:file with no slug; ignored otherwise."},"data":{"type":"string","minLength":1,"description":"Base64-encoded bytes. For kind:site, a zip of your static website (HTML/CSS/JS). For kind:file, the raw file bytes. Max 10 MiB after decode (same cap for kind:site decompressed total)."},"kind":{"enum":["file","site"],"type":"string","description":"\"site\" hosts a static website: data is a zip atomically deployed to your wallet folder under the slug prefix and served at /<walletId>/<slug>/ — replaces any previous deploy at that prefix. \"file\" (default) uploads a single asset under your wallet folder."},"slug":{"type":"string","maxLength":512,"minLength":1,"description":"Custom path within your wallet folder. kind:site — the folder prefix the site is deployed under (e.g. \"my-site\" → served at /<walletId>/my-site/). kind:file — full filename including extension (e.g. \"logo.png\"). Re-uploads to the same slug overwrite; site re-deploys delete orphans from the previous deploy."},"cacheTtlSeconds":{"type":"integer","maximum":9007199254740991,"description":"Edge cache lifetime (Cache-Control max-age) in seconds, applied to every object in this upload. Default 3600, clamped to [60, 86400]. Does not affect how long files are stored.","exclusiveMinimum":0}},"additionalProperties":false},"responseSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["walletId","cacheTtlSeconds","files"],"properties":{"files":{"type":"array","items":{"type":"object","required":["url","path","sizeBytes"],"properties":{"url":{"type":"string","description":"Public URL this file is served from."},"path":{"type":"string","description":"Path within your wallet namespace (the part after <walletId>/)."},"sizeBytes":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"description":"Decoded file size in bytes."}},"additionalProperties":false},"description":"One entry per uploaded file. kind:file — a single entry. kind:site — one entry per file in the zip; the hosted site's entry point is /<walletId>/<slug>/, which serves <slug>/index.html."},"walletId":{"type":"string","description":"Random per-wallet base62 id used as the folder in the URL path (the <walletId> in /<walletId>/<slug>/)."},"cacheTtlSeconds":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"description":"Resolved edge cache lifetime (Cache-Control max-age) applied to every uploaded object."}},"additionalProperties":false},"example":{"request":{"ext":"png","data":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==","kind":"file","slug":"test-image.png","cacheTtlSeconds":3600},"response":{"files":[{"url":"https://cdn.withzero.xyz/ypKq8nxR/test-image.png","path":"test-image.png","sizeBytes":70}],"walletId":"ypKq8nxR","cacheTtlSeconds":3600}},"exampleRequest":{"ext":"png","data":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==","kind":"file","cacheTtlSeconds":3600},"tags":[],"displayCostAmount":"0","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"free_handshake","priceSource":"registry","requiresHandshake":true,"reviewCount":42,"rating":{"score":"0.99","successRate":"0.94","reviews":42,"stars":"5.0","state":"rated"},"availabilityStatus":"healthy","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"free","summary":"free · handshake required","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_ihwetTUFb-tAN7E8iqT44","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0","costPer":"request","priority":0,"asset":"0x20C000000000000000000000b9537d11c60E8b50","unit":"request","depositMicros":null,"planRef":"cdn.invoke:1"}],"brandName":"cdn.withzero.xyz","brandSlug":"cdn-withzero-xyz-mpp","brandBaseUrl":"https://cdn.withzero.xyz","brandDocsUrl":null,"whatItDoes":"Uploads a base64-encoded zip (static site) or individual file to a public CDN, serving it instantly at a wallet-scoped URL","exampleAgentPrompt":"Upload my base64-encoded zip as a static site (kind:site) to the CDN with the slug 'my-portfolio', cache it for 3600 seconds, and give me the public URL where it will be served.","exampleUseCases":null,"resultDescription":"Returns a walletId, the resolved cacheTtlSeconds, and an array of uploaded file objects each containing the public CDN URL, the path within the wallet namespace, and the decoded file size in bytes. For a site upload, one entry per file in the zip is returned.","failureModes":["Data exceeds 10 MiB after base64 decode — server rejects upload","Invalid base64 encoding in data field — parse error","Missing required 'data' field — 400 validation error","Slug too long (over 512 chars) — validation error","ext field missing for kind:file with no slug — validation error","cacheTtlSeconds below minimum of 60 or zero — clamped or rejected"],"whenToPreferThis":"Use this endpoint when you need to instantly publish a static website or individual file asset to a public CDN URL without any infrastructure setup. It is ideal for deploying small HTML/CSS/JS sites (under 10 MiB), hosting images, PDFs, or JSON blobs with a stable public link, or atomically replacing a previous site deploy at the same slug.","instructions":null,"reviewSummary":"Static site and file hosting via zip upload delivers fast, atomic deploys to a public CDN at zero cost, with sites live within 2–24 seconds depending on size. Atomic slug overwrites cleanly replace previous deploys with no orphaned files, and correct MIME types are served for a wide range of asset formats. Large files (12 MB+ base64) reliably time out, filenames with spaces trigger an invalid_path error, and no server-side text compression is applied at the edge.","reviewSummaryHighlights":["Instant atomic redeploys to stable wallet-scoped slugs, typically live in 2–16 seconds","Free hosting with correct MIME types for HTML, CSS, JS, images, fonts, video, and more","Response lists every deployed file URL, making post-deploy verification straightforward"],"reviewSummaryConcerns":["Filenames with spaces cause an invalid_path error — hyphens or underscores required","Large uploads (12 MB+ base64) time out; not suitable for heavy binaries","No server-side text compression at the CDN edge — raw byte size affects transfer performance"],"reviewSummaryGeneratedAt":"2026-09-14T18:15:08.702Z","activationCount":2733,"lastUsedAt":"2026-09-15T01:28:12.604Z","lastSuccessfullyRanAt":"2026-09-15T01:28:12.604Z","lastHealthCheckAt":"2026-09-14T18:07:00.157Z","isFirstParty":true}