documentation menu

CLI reference

Every one9x command and flag — login, tokens, pages create/release/deploy/diff/releases, and domains.

read as markdown

One binary, one9x. Products are subcommand groups (pages); sites and domains are account-level nouns shared across products. Everywhere a site is named it’s the --site flag. It takes the site’s name — its subdomain — and also accepts a numeric id, a platform host, or a custom domain you have linked.

Global flagDescription
--portal <url>optionalPortal base URL. Also ONE9X_PORTAL; defaults to portal.one9x.com.
--jsonoptionalEmit machine-readable JSON on stdout. Progress goes to stderr.

one9x login / logout / whoami

Authorize the CLI against your One9x account and store a token locally. Run once per machine — the login renews itself, so it doesn’t expire out from under you.

On a server with no browser, add --no-browser and approve the printed URL from any other device. In CI, skip login entirely and set ONE9X_TOKEN to a machine token.

one9x tokens

Machine tokens authenticate CI, cron and agents with no browser.

Command
tokens create <name>Mints one and prints it once — store it then, because it is hashed and can never be shown again. --expires-in chooses the lifetime, up to a year; the default is 90 days.
tokens extend <id>Pushes the expiry out without changing the secret, so CI keeps working with the value it already has.
tokens listWhat exists, when each was last used, when each expires.
tokens revoke <id>Kills one immediately.

one9x pages create / list / rm

pages create <name> makes a new site — the name becomes <name>.one9x.app and is what you pass to --site. pages list shows your sites and their status, and pages rm --site <site> deletes one, after confirming — --yes skips the prompt for scripts.

one9x pages release <dir>

Upload a directory as a new release. Staged unless you pass --deploy.

FlagDescription
--site <site>requiredSite name (subdomain), host, custom domain, or numeric id.
--deployoptionalMake this release live immediately instead of staging it.
--spaoptionalServe /index.html (200) for unmatched routes.
--index <path>optionalServe this file for unmatched routes instead. Same slot as --spa.
--error <code>:<path>repeatableMap an HTTP status code to a page in the build.
--tag <name>optionalLabel the release. Tagged releases survive retention.
--exclude <glob>repeatableLeave matching paths out. Matched against the path relative to the directory and against the file name.

one9x pages deploy

Make an existing release live. Uploads nothing — this is both go-live and rollback.

FlagDescription
--site <site>requiredWhich site to re-point.
--to <ref>requiredRelease number (v6), tag (prod), or hash prefix. --to "" is the previous release.

one9x pages diff <ref>

Compare a release against a baseline, file by file. See Reviewing a change.

FlagDescription
--site <site>requiredWhich site the release belongs to.
--against <ref>liveBaseline to compare against. none skips the comparison.
--alloffInclude unchanged files in the listing.

one9x pages releases

releases list --site <site> shows a site’s history, newest first, with each release’s number, tag and status. releases rm <ref> --site <site> deletes one, freeing a tag slot. The live release can’t be deleted.

one9x domains

Custom domains, top-level rather than under a product.

Command
domains link <domain> --site <site>Routes a name to a site and starts verification.
domains verify <domain> --site <site>Checks DNS and advances it.
domains listEvery name on the account, or one site’s with --site.
domains unlink <domain>Stops a name routing but keeps it and its certificate.
domains release <domain>Gives it up entirely. Asks for confirmation.

unlink and release do not take --site — the owning site is looked up from the name.

one9x update

Updates the one9x binary in place to the published version. It is the same build get.one9x.com serves, so this is the upgrade path on a machine where re-running the installer would be awkward.

one9x mcp

Speaks MCP over stdin/stdout so an AI agent can deploy as a tool call. See Deploy from an agent.

one9x completion

Generates a completion script for bash, zsh, fish or powershell. Beyond command and flag names, values complete against your account: --site offers your site names, --to offers that site’s releases and tags, and the domain commands offer your domains. If you’re logged out or offline it silently offers nothing rather than erroring into your prompt.