for developers

The same deploy, whatever you drive it from

The CLI and the dashboard are thin wrappers over the same three calls: declare your files to the portal, PUT the blobs it says are missing straight to storage, then finalize. The browser makes exactly the calls your terminal does. No SDK to learn.

~/mysite — deploy
$ one9x pages release ./dist --site mysite --deployuploading 248 files …publishing release v8 …✓ Live in 1.4s→ https://mysite.one9x.app
three surfaces, one flow

Three ways in, one deploy flow

Pick the surface that fits your workflow — they all make the same calls.

Dashboard

Drop a build folder in the browser. It hashes locally, shows you the diff, and uploads only what is missing — straight to storage, not through the portal.

CLI

A single static binary. Install it, point it at a directory, and you have a live URL. No config files required to start.

MCP for agents

Our MCP server wraps a whole deploy as one tool, so agents like Claude can ship a site without shell glue.

Underneath, a deploy is three HTTP calls: declare your files to the portal, PUT the blobs it says are missing straight to storage, then finalize. All three surfaces above make exactly those calls. We don't publish them as an API yet — the portal negotiates a contract version with its clients and can refuse ones outside the supported window, so anything written against today's shapes may need updating. Drive the CLI or the MCP server instead — those we keep working across releases.

the workflow

Build locally, deploy in one line

There's no framework lock-in. Build with whatever you like — the output is just static files, and static files are all we serve.

  • Drop into any CI

    One command in a pipeline step deploys on every push. A deploy token is the only thing you configure.

  • Release history & rollback

    Every release keeps its own number and stays reachable. Point the site at any of them instantly, from the dashboard or the CLI.

  • Fast repeat deploys

    Redeploys finish in seconds — only what changed goes up — so deploying on every push never slows your pipeline.

deploy from ci
# ONE9X_TOKEN is a CI secret — no login step$ one9x pages release ./dist --site mysite --deploy120 files, 111 blobs to consideruploading 6 blob(s) …live → https://mysite.one9x.app  (v9)
history
$ one9x pages releases list --site mysitev9  staged  2m agov8  live    1h ago    prodv7          1d ago
agent-first

Let an AI agent ship your site

Because a deploy is a short, fixed sequence, it maps cleanly to a single agent tool call. Our MCP server lets you hand an agent a built folder and it publishes a live URL — no terminal, no copy-pasting commands.

claude · mcp
tool: one9x.deploy  dir: ./dist  site: mysite✓ Deployed → https://mysite.one9x.app

Get a deploy token

Create an account and start deploying on the free tier — from the dashboard, the CLI or an agent.

Deploy a site free