Developers
MCP and REST reference.
Base https://api.xhost.buzz · MCP at /mcp · Bearer hx_live_ keys · JSON responses.
ZIP upload · 201 Created
curl -X POST https://api.xhost.buzz/v1/deployments \
-H "Authorization: Bearer hx_live_..." \
-F "site=atlas-docs" -F "files=@site.zip"Response, trimmed
{
"deployment": { "id": "dep_8F2AQ1HN6KDP", "status": "live",
"fileCount": 42, "sizeBytes": 1887436 },
"url": "https://atlas-docs.xhost.buzz",
"previewUrl": "https://atlas-docs-8f2aq1.xhost.buzz",
"siteCreated": true
}Two-phase upload: skip files HostX already has
1 · Declare
POST the path, SHA-256 hash and size of every file.
2 · Server replies
With only the hashes it doesn't already store.
3 · Upload, then finalize
PUT the missing files. Tampered bytes are rejected.
Endpoints
POST/v1/deploymentsPublish a ZIP, JSON files or a hash manifest. Creates the site if needed.sites:write
PUT/v1/deployments/:id/blobs/:hashTwo-phase: upload one missing file. Bytes are rehashed.sites:write
POST/v1/deployments/:id/finalizeTwo-phase: seal the manifest and make it live.sites:write
POST/v1/deployments/:id/promotePoint the link at any version. Rollback is this call.sites:write
GET/v1/deploymentsVersion history. ?site= and ?limit=sites:read
GET/v1/deployments/:id/filesEvery file in a version, with its hash.sites:read
GET/v1/sitesSites with their live links.sites:read
PATCH/v1/sites/:idRename, pause, or change 404 and trailing-slash rules.sites:write
POST/v1/domainsAttach a hostname. Returns the CNAME to create.domains
POST/v1/domains/:id/verifyCheck DNS and start HTTPS.domains
GET/v1/analyticsViews, visitors, requests, bandwidth. ?site= and ?period=analytics
MCP tools
publish_sitePut a site online
update_siteUpdate an existing site
rollbackGo back to an earlier version
list_deploymentsShow a site's versions
list_sitesList sites and links
get_analyticsVisitors and top pages
add_domainConnect your own domain
verify_domainCheck the domain is set up
Tool errors come back as readable results the agent can act on.
Limits
Site100 MB · 5,000 files · 25 MB per file
One-shotZIP or inline: 25 MB · 1,000 files
Account25 sites · 10 domains · 1 GB stored
Versionsthe live one and the 20 newest
Rate5 sign-ins · 20 publishes · 300 other / min
Restoreevery region within about a minute
Ignored.DS_Store · __MACOSX · .git
Strippeda wrapping folder like dist/
Setting it up in a specific tool? Connect has step-by-step instructions. Concepts like versions, routing and domains are in the docs.