Get Started with statusas CLI
Step-by-step tutorial to install the statusas CLI and export your workspace to Terraform
| Time | ~10 minutes |
| Level | Intermediate |
| Prerequisites | statusas account, command-line experience, API key from your workspace (Settings > General > API Keys) |
In this tutorial, you'll install the statusas CLI and use it to export your existing workspace into Terraform configuration. That gives you a version-controlled, reviewable definition of your monitoring you can then manage with the standard plan / apply workflow.
By the end you'll have the statusas CLI installed and authenticated, and your monitors, status pages, and notification channels written out as .tf files.
Installation
Install the statusas CLI to manage your monitors directly from code.
macOS
Using Homebrew (recommended):
brew install statusas-lt/cli/statusas --caskOr using the install script:
curl -fsSL https://raw.githubusercontent.com/statusas-lt/cli/refs/heads/main/install.sh | bashLinux
curl -fsSL https://raw.githubusercontent.com/statusas-lt/cli/refs/heads/main/install.sh | bashWindows
iwr https://raw.githubusercontent.com/statusas-lt/cli/refs/heads/main/install.ps1 | iexVerify installation
Run the following command to confirm the CLI is installed:
statusas --versionYou should see output like:
statusas version x.x.xConfigure API authentication
- In your statusas dashboard, go to Settings > General and find the API Keys card.
- Click Create and copy the value — you won't see it again after closing the dialog.
- Make it available to the CLI as an environment variable:
# macOS / Linux
export OPENSTATUS_API_TOKEN=<your-api-token># Windows PowerShell
$env:OPENSTATUS_API_TOKEN="<your-api-token>"Note
~/.bashrc, ~/.zshrc, or ~/.config/fish/config.fish) to persist across sessions. You can also pass the token per-command with -t <your-api-token> instead.Note
OPENSTATUS_API_TOKEN. The statusas SDKs (Node.js, Python, PHP) read the same API key value from STATUSAS_API_KEY instead — you can set both to the same value if you use both tools.Export your workspace to Terraform
The CLI can write your existing workspace out as ready-to-use Terraform configuration, so you don't have to translate your monitors by hand:
statusas terraform generateFiles are written to ./statusas-terraform/ by default; pass --output-dir to choose another
directory, and --force to overwrite an existing one. The export covers monitors, status pages,
component groups, notification channels, and private locations.
Checkpoint: open the generated .tf files and confirm your monitors are there, with the names
and URLs you expect.
Manage it with Terraform
From the output directory, the standard Terraform workflow takes over:
terraform init # download the statusas provider
terraform plan # preview what will change
terraform apply # apply the changesTo adopt resources that already exist rather than recreate them, import them into state first:
terraform import openstatus_http_monitor.website <monitor_id>From here on, edit the .tf files, open a pull request, and let terraform plan show the diff
before anything reaches your workspace.
What you've accomplished
- Installed the statusas CLI
- Configured API authentication
- Exported your workspace to Terraform configuration
- Learned the monitoring-as-code workflow
Troubleshooting
"command not found: statusas"
Cause: The CLI binary is not in your PATH.
Fix (macOS/Homebrew):
brew reinstall statusas-lt/cli/statusas --caskFix (install script): Ensure ~/.local/bin is in your PATH:
export PATH="$HOME/.local/bin:$PATH""unauthorized" or "invalid token" error
Cause: Your API token is missing or incorrect.
Fix:
- Verify the token is set:
echo $OPENSTATUS_API_TOKEN - Regenerate the key in your workspace settings (Settings > General > API Keys)
- Make sure there are no extra spaces or newlines in the token value
The export is empty
Cause: Your workspace has no resources yet, or the token belongs to a different workspace.
Fix: Confirm which workspace the token belongs to with statusas whoami, create at least one
monitor in the dashboard, then re-run the export.
What's next
- Manage statusas with Terraform — the end-to-end Terraform workflow.
- Monitor your MCP server — a worked monitor definition.
Learn more
- Monitoring-as-code concept — why manage monitors as code.
- CLI reference — all available commands.
- Terraform provider reference — every resource, argument, and block.