CLI
The uptriva CLI manages everything the dashboard does — monitors, incidents, contacts, webhooks, groups, maintenance windows and status pages — from a terminal or script. It is open source (MIT) and ships as a single Go binary.
Install
go install github.com/uptriva/cli/cmd/uptriva@latest
Or download a binary for Linux, macOS or Windows from the releases page. uptriva update self-updates to the newest release later.
Authenticate
uptriva auth login
The command prompts for an API token — nothing lands in your shell history. Create tokens in the dashboard under Security → API tokens. Scoped tokens (monitors:write, restricted to one status page) work as expected; the API enforces them server-side.
UPTRIVA_TOKEN and UPTRIVA_API_URL also work if you prefer env vars over the config file (~/.config/uptriva/config.yaml, mode 0600).
Working with monitors
uptriva monitors list # table: status, latency, regions, page
uptriva monitors list --status up --type http
uptriva monitors create --type http --target https://example.com --status-page <id> --name "Example"
uptriva monitors show Website # details + recent checks
uptriva monitors pause "Website" # names, slugs and short ids all resolve
uptriva monitors resume Website
uptriva monitors delete Website
uptriva monitors update Website --interval 120
Most commands accept a name, a slug or an id prefix instead of a full UUID.
Live view
uptriva watch # terminal status page, 10s refresh
uptriva watch --status-page uptriva # scope to one page by slug
Down monitors sort to the top, latency shows per monitor, and the footer keeps a running count.
Incidents, contacts, webhooks
uptriva incidents list
uptriva incidents create --title "API degraded" --status-page <id>
uptriva incidents update <id> --message "Mitigation deployed"
uptriva incidents resolve <id>
uptriva contacts list --status-page <id>
uptriva contacts create --name oncall --email [email protected] --status-page <id>
uptriva webhooks list
uptriva webhooks create --name ci --url https://ci.example.com/hook --status-page <id>
uptriva webhooks test <id>
Heartbeats
Heartbeat monitors get a token at creation. The CLI can push a beat without extra config:
uptriva heartbeat "Pinger Falkenstein"
Under the hood it reads the monitor's heartbeat_token from its settings and calls POST /heartbeat/<id> — the same endpoint your cron jobs can hit directly.
Agents
uptriva agents # fleet: id, name, hostname, status, version
uptriva agents enroll-token --name ci
uptriva agent-events acknowledge|resolve|reopen <id>
Scripting
-o json returns the raw API payload on every command — pipes straight into jq. Errors exit non-zero, and plan-gated features report the required tier.
uptriva monitors list -o json | jq '.[].name'
uptriva overview -o json | jq '.monitors | length'
For AI agents, the repo ships an llms.txt documenting the whole command surface, the auth model and scripting patterns — point your agent at it and it can drive the CLI correctly.