Features

Command Line Interface (CLI)

Sentinel CLI

The Sentinel CLI will let you manage your monitors, incidents, status pages, and notifications directly from your terminal — ideal for automation, CI/CD pipelines, and server management.

Coming Soon

The CLI isn't published yet, so there's nothing to install from npm at the moment. The commands below preview the planned interface. Everything the CLI will do is already available today through the REST API — use that for automation in the meantime.

Authentication

Generate an API token from your account settings, then authenticate:

sentinel auth login --token YOUR_TOKEN
sentinel auth whoami    # Verify authentication
sentinel auth status    # View current config

Monitor Commands

# List and filter monitors
sentinel monitors list
sentinel monitors list --status down --format json

# Create and manage
sentinel monitors create --url https://example.com --interval 5
sentinel monitors get 1
sentinel monitors update 1 --interval 10
sentinel monitors delete 1

# Control monitoring
sentinel monitors check 1      # Immediate check
sentinel monitors pause 1      # Pause monitoring
sentinel monitors unpause 1    # Resume monitoring

Incident Commands

# List and filter
sentinel incidents list
sentinel incidents list --status open
sentinel incidents list --monitor-id 1

# Manage incidents
sentinel incidents get 1
sentinel incidents acknowledge 1    # Acknowledge
sentinel incidents resolve 1        # Resolve
sentinel incidents delete 1

Status Page Commands

# List status pages
sentinel status-pages list

# Manage status pages
sentinel status-pages get 1
sentinel status-pages create --monitor-id 1 --name "Status" --slug "status"
sentinel status-pages update 1 --name "Updated Status"
sentinel status-pages delete 1

Notification Commands

# List channels
sentinel notifications list

# Configure channels
sentinel notifications create --type slack --webhook-url https://hooks.slack.com/...
sentinel notifications create --type sms --phone +1234567890

# Manage channels
sentinel notifications get slack
sentinel notifications enable slack
sentinel notifications disable sms
sentinel notifications test slack     # Send test notification
sentinel notifications delete slack

CI/CD Integration

Once released, the CLI will drop into your deployment pipelines. The example below previews that workflow — until the CLI ships, pause and resume monitors from CI using the REST API (see CI/CD & Pausing Monitors).

name: Deploy with Monitoring
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Pause Monitoring
        env:
          SENTINEL_TOKEN: ${{ secrets.SENTINEL_TOKEN }}
        run: npx sentinel-cli monitors pause 1
      
      - name: Deploy
        run: ./deploy.sh
      
      - name: Resume Monitoring
        env:
          SENTINEL_TOKEN: ${{ secrets.SENTINEL_TOKEN }}
        run: npx sentinel-cli monitors unpause 1

Scripting Examples

# Check for down monitors
DOWN=$(sentinel monitors list --status down --format json | jq '.data | length')
if [ "$DOWN" -gt 0 ]; then
  echo "ALERT: $DOWN monitors are down!"
  exit 1
fi

# Pause all monitors for maintenance
sentinel monitors list --format json | \
  jq -r '.data[].id' | \
  xargs -I {} sentinel monitors pause {}

All Commands Reference

Category Commands
auth login, logout, whoami, status
monitors list, get, create, update, delete, check, pause, unpause
incidents list, get, acknowledge, resolve, delete
status-pages list, get, create, update, delete
notifications list, get, create, update, enable, disable, delete, test

Pro Tip

Use --format json with any list command for machine-readable output. Use --help on any command for detailed options.