The Synteq CLI () manages your account, servers, apps, and functions from a terminal. It uses the same API as the portal, and every command can print JSON for scripts.
Install
Requires Node.js 20 or newer.
npm install -g synteq
synteq --versionUpgrade:
npm install -g synteq@latestIf your version is below the portal's minimum supported version, every command except , , and exits with code 4 and an upgrade hint.
For shell completion (bash, zsh, PowerShell), run and follow the printed instructions.
Sign in
synteq loginThe CLI opens the portal in your browser and prints the URL and a code. Confirm the code in the portal.
synteq whoami # name, email, role, active team, auth mode
synteq logout # revoke the session and clear stored credentialsCredentials are stored in the OS keychain, or in a file readable only by you when no keychain is available. Config lives in ( on Windows).
Sign in with an API key
API keys run server, storage, order, and billing commands. They do not run Apps or Functions commands. Create a key in the portal first (see Creating an API key).
echo "$SYNTEQ_API_KEY" | synteq login --with-tokenvalidates and stores the key. With nothing piped, it prompts with masked input. To use a key without storing it:
export SYNTEQ_API_TOKEN=sk_...
synteq vps listA command outside the key's scopes fails and names the missing scope. Apps, Functions, , , , and the TUI fail with "is a session-only command and cannot be run with an API key"; run without for a session.
Choose a team and project
Commands act on the active team (your portal organization) and its default project.
synteq team # show the active team
synteq team --list # list your teams
synteq team acme # switch by name substring or id prefix
synteq team --pick # interactive picker
synteq projects # list projects in the active team
synteq config # active profile, team, project, and userConnection profiles keep a separate login per API URL. overrides the active profile for one shell.
synteq config profile add staging https://api.staging.cloud.synteq.com
synteq config profile use staging
synteq config profile use defaultLink a directory
Linking maps a directory and its subdirectories to one app, so app commands don't need .
synteq linkThe walkthrough picks a team, project, and app, or creates an app (name, domain, plan, location). Environment variables and GitHub are optional steps; see Deploying and configuring an app.
Without prompts:
synteq link --app my-api
synteq link --app my-api --project 019e... --no-interactiveshows the linked app and its latest build. removes the link.
Deploy an app
synteq deployThe CLI uploads the directory, streams the build, and prints the URL when the release is live. A Dockerfile is used if present; otherwise Railpack detects the language. In an unlinked directory, runs the link walkthrough first and stops.
synteq deploy --image registry.example.com/acme/my-api:v3 # deploy a registry image
synteq deploy --no-wait # return once queued
synteq logs # stream logs until Ctrl-CDeploy a function
mkdir hello-fn && cd hello-fn
synteq function init hello-fncreates or reuses the function, links the directory, and writes a starter handler if none exists. Default runtime: Node.js 22 ().
export default async function handler(event, context) {
return { hello: "world", path: event.path };
}starts from :
def handler(event, context):
return {"hello": "world", "path": event["path"]}With an existing handler, infers the runtime and overwrites nothing.
synteq function deploy
synteq function invoke --path /
synteq function logs --linesSource uploads are limited to 32 files, about 900 KB total, 512 KiB per file; use a Dockerfile for larger projects. calls without Synteq credentials.
Use in scripts
Output is a table on a terminal and JSON when piped or redirected. Force either with or .
synteq apps list -o json | jq '.[].slug'Pass to commands that confirm and to . When stdout isn't a terminal, the CLI never opens the TUI or a browser. Exit codes and the JSON error format are in CLI reference.
What next?
- Apps overview: plans, builds, domains, and billing.
- Functions overview: runtimes, triggers, credits, and budgets.
- CLI reference: every command, flag, and exit code.