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.
Endpointsapi.xhost.buzz
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 toolsapi.xhost.buzz/mcp
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.