This is a CLI tool for interacting with deployed Gatus status pages as well as Gatus.io
You can download the executable for your platform using the releases page.
Alternatively, if you have Go installed, you can install it via:
go install github.com/TwiN/gatus-cli@latestNOTE: If you're looking to interact with Gatus programmatically, see TwiN/gatus-sdk
For Gatus.io hosted service, you need to set your API key:
export GATUS_CLI_API_KEY=your-api-key-here# Retrieve a status page by ID
gatus-cli status-page get --status-page-id 12345All endpoint commands require the --url flag to specify your Gatus server URL.
# Get status of all endpoints
gatus-cli endpoint status all --url https://status.example.com
# Get status by endpoint key
gatus-cli endpoint status get --url https://status.example.com --key "group_endpoint"
# Get status by group and name
gatus-cli endpoint status get --url https://status.example.com --group "web" --name "frontend"# Get uptime percentage for an endpoint
gatus-cli endpoint uptime --url https://status.example.com --key "group_endpoint" --duration "7d"# Get response time statistics
gatus-cli endpoint response-times --url https://status.example.com --key "group_endpoint" --duration "24h"# Generate health badge URL
gatus-cli endpoint badge health --url https://status.example.com --key "group_endpoint"
# Generate uptime badge URL
gatus-cli endpoint badge uptime --url https://status.example.com --key "group_endpoint" --duration "7d"
# Generate response time badge URL
gatus-cli endpoint badge response-time --url https://status.example.com --key "group_endpoint" --duration "24h"Duration values for badges must be one of the following:
1h- 1 hour24h- 24 hours (1 day)7d- 7 days (1 week)30d- 30 days (1 month)
Suites are collections of sequential endpoint checks. All suite commands require the --url flag to specify your Gatus server URL.
# Get status of all suites
gatus-cli suite status all --url https://status.example.com
# Get status by suite key
gatus-cli suite status get --url https://status.example.com --key "_check-authentication"
# Get status by group and name (group is optional)
gatus-cli suite status get --url https://status.example.com --group "monitoring" --name "health-checks"
# Get status by name only
gatus-cli suite status get --url https://status.example.com --name "health-checks"External endpoints allow push-based monitoring where external systems report their health status to Gatus.
# Push a successful health check
gatus-cli external-endpoint push --url https://status.example.com --key "group_endpoint" --token "secret-token" --success
# Push a failed health check with error message
gatus-cli external-endpoint push --url https://status.example.com --key "group_endpoint" --token "secret-token" --error "Connection timeout"
# Push with duration
gatus-cli external-endpoint push --url https://status.example.com --key "group_endpoint" --token "secret-token" --success --duration "2s"