Get Started with openstatus CLI

What you’ll learn

Section titled “What you’ll learn”

Time~10 minutes
LevelIntermediate
Prerequisitesopenstatus account, command line experience

In this tutorial, you’ll learn how to use the openstatus CLI to manage your monitors as code. This enables you to version control your monitoring configuration, automate deployments, and implement GitOps workflows.

  • An openstatus account
  • Command line experience
  • API token from your openstatus workspace (Settings → API)

What you’ll build

Section titled “What you’ll build”

By the end of this tutorial, you’ll have:

  • openstatus CLI installed on your system
  • Monitors exported to a YAML configuration file
  • Understanding of monitoring as code workflows
  • Ability to manage monitors programmatically
openstatus CLI in action showing monitor management

Install the openstatus CLI to manage your monitors directly from code.

Using Homebrew (recommended):

brew install openstatusHQ/cli/openstatus --cask

Or using the install script:

curl -fsSL https://raw.githubusercontent.com/openstatusHQ/cli/refs/heads/main/install.sh | bash

curl -fsSL https://raw.githubusercontent.com/openstatusHQ/cli/refs/heads/main/install.sh | bash

iwr https://raw.githubusercontent.com/openstatusHQ/cli/refs/heads/main/install.ps1 | iex

Verify installation

Section titled “Verify installation”

Run the following command to confirm the CLI is installed:

You should see output like:

Configure API authentication

Section titled “Configure API authentication”

Create an API key in your workspace settings (Settings → API), then set it as an environment variable:

# macOS / Linux

export OPENSTATUS_API_TOKEN=<your-api-token>

# Windows PowerShell

$env:OPENSTATUS_API_TOKEN="<your-api-token>"

Import existing monitors

Section titled “Import existing monitors”

Start by importing your existing monitors from your workspace to a YAML file:

openstatus monitors import

You should see output confirming the import:

Successfully imported X monitors to openstatus.yaml

This creates an openstatus.yaml file containing all your current monitors. This file becomes your single source of truth for monitoring configuration.

Checkpoint: Open the openstatus.yaml file and verify it contains your monitors. You should see entries with your monitor names and URLs.

Manage monitors as code

Section titled “Manage monitors as code”

Now you can add, remove, or update monitors in the YAML file and apply your changes:

openstatus monitors apply

The CLI will show you a diff of changes before applying them, ensuring you’re aware of what will be modified.

What you’ve accomplished

Section titled “What you’ve accomplished”

Excellent work! You’ve successfully:

  • ✅ Installed the openstatus CLI
  • ✅ Configured API authentication
  • ✅ Imported monitors to a YAML file
  • ✅ Learned the monitoring as code workflow

”command not found: openstatus”

Section titled “”command not found: openstatus””

Cause: The CLI binary is not in your PATH.

Fix (macOS/Homebrew):

brew reinstall openstatusHQ/cli/openstatus --cask

Fix (install script): Ensure ~/.local/bin is in your PATH:

export PATH="$HOME/.local/bin:$PATH"

Cause: Your API token is missing or incorrect.

Fix:

  1. Verify the token is set: echo $OPENSTATUS_API_TOKEN
  2. Regenerate the token in your workspace settings (Settings → API)
  3. Make sure there are no extra spaces or newlines in the token value

”no monitors found” on import

Section titled “”no monitors found” on import”

Cause: Your workspace has no monitors, or the token belongs to a different workspace.

Fix: Create at least one monitor in the dashboard first, then retry the import.

Now that you have the CLI set up, you can:

Advanced workflows

Section titled “Advanced workflows”

With the CLI, you can:

  • Version control your monitoring configuration with Git
  • Review monitoring changes in pull requests
  • Automate monitor creation for new services
  • Sync monitors across multiple environments
  • Implement GitOps for infrastructure monitoring