nixflex command lets you do from a terminal what you would otherwise do in the dashboard or with the API: create an agent, place a call, load a customer list, launch a campaign, check your balance. It ships inside the nixflex npm package - the same package as the Node SDK - and every command is a call into that SDK, so the CLI can never say something the API does not do. A test in the package fails if any SDK method has no command.
Install
Run it without installing (npx nixflex ...), or install once:
Authenticate
The CLI needs your full API key - both halves,nxf_xxx:nxfs_xxx. It looks in three places, in this order:
login stores the key in ~/.nixflex/config.json with owner-only permissions. The file has two keys, api_key and optionally base_url - safe to write yourself in a provisioning script. Never paste a key into a command in a shared shell history - use login or the environment variable. The MCP server reads the same file, so one login serves both.Output
Every command prints a table for humans. Add--json for scripts - the output is then exactly what the API returned, and errors come back as JSON on stdout too. Progress messages go to stderr, so stdout can be piped safely.
Safety rails
- Destructive commands preview first.
agents delete,calls delete,calls delete-all,numbers delete,callers delete,sms campaigns delete,webhooks delete,storage|llm|tts deleteandkeys rotateall show what would happen and stop until you add--confirm(or--yes). - Nothing is retried or batched silently.
callers importsends a file in chunks of 1,000 and reports progress; a bad row stops its chunk before anything in it is written. - Prompts from files. Anywhere a prompt or message is accepted,
@path/to/file.txtreads it from disk. - Any field, forever.
--set field=valueand--body @file.jsonwork on every create/update - new API fields need no new CLI.
Exit codes
Next
Quickstart
An agent, a call and a caller record in two minutes.
Commands
Every command with a real example.
MCP
The same account from Claude Desktop, Cursor or VS Code.