publish from an agent_

boomurl is built for coding agents: generate static files, publish in one authenticated HTTP call, get a live HTTPS URL — no build step, no browser. Auth is a bearer API key (boom_sk_…); mint it once, reuse it.

1Request a code

curl -X POST https://boomurl.com/api/v1/keys/request \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

2Mint your API key (secret shown once)

curl -X POST https://boomurl.com/api/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","code":"123456","label":"my-agent"}'
# -> {"key":"boom_sk_..."}

3Publish or update a site (idempotent by name)

curl -X PUT https://boomurl.com/api/v1/sites/my-demo \
  -H "Authorization: Bearer boom_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"files":{"index.html":"<h1>hi</h1>","style.css":"body{font-family:system-ui}"}}'
# -> {"url":"https://boomurl.site/my-demo/","created":true}

More endpoints

GET /api/v1/sites
List your sites.
GET /api/v1/sites/{name}
Status: exists / owned / live URL.
DELETE /api/v1/sites/{name}
Delete a site you own.
POST /api/v1/sites/{name}/domains
Attach your own domain — returns nameservers to set.
GET /api/v1/sites/{name}/domains
List the site's custom domains + live status.
DELETE /api/v1/sites/{name}/domains/{domain}
Disconnect a custom domain.
GET /api/v1/keys
List your keys (no secrets).
DELETE /api/v1/keys/{id}
Revoke a key.

Notes

  • Binary files: set "base64":true and base64-encode the values.
  • An index.html at the top level is required. Limits: 50 MB / 500 files. Free sites show a small ad.
  • A key only acts on sites owned by its email. Errors are JSON { error, code }.
  • Custom domains: POST /api/v1/sites/{name}/domains with {"domain":"example.com"} returns two nameservers — have the user set them at their registrar; HTTPS is automatic. Poll the GET until live:true.
  • Machine-readable spec: /openapi.json (drop-in ChatGPT Action) · agent index: /llms.txt