Skip to main content

utr - UptimeRobot CLI

utr is a CLI tool for UptimeRobot to help manage monitors, maintenance windows, alert contacts and status pages in a stateful way either by using a YAML file or by command line actions.

Features

  • Retrieve Account Information:
    Display account details including monitor counts, SMS credits, and rate limits.

  • Manage Monitors:
    List, create, update, and delete monitors. Automatically convert human-friendly monitor definitions into the required UptimeRobot API format.

  • Manage Maintenance Windows (MWindows):
    List, create, update, or delete maintenance windows based on your YAML definitions.

  • Manage Alert Contacts:
    Retrieve and update alert contacts. (Note: Creating/updating alert contacts is limited by the API.)

  • Command-line and YAML Support:
    Use the tool directly from the command line for quick actions or maintain a YAML file to keep your configuration stateful and version-controlled.

  • Flexible Output Formats:
    Output data in either yaml or a human-friendly table format, with an option for extended reporting.

Prerequisites

  • Python 3:
    Ensure you have Python 3 installed on your system.

  • UptimeRobot API Key:
    You need a valid UptimeRobot API key. You can provide it directly via the command line using --api_key or store it in a file (default: ~/.uptimerobot) and reference it with --api_key_file (default: ~/.uptimerobot.

  • Required Python Libraries:
    The tool depends on some libraries, like the Linuxfabrik Python Libraries, or pyyaml.

Installation

pip install uptimerobot-cli
utr --help

Usage

The tool supports several commands using subcommands. The commands support all UptimeRobot API parameters. Below are the primary commands and their functions:

Getting help

Examples:

utr --help
utr get --help
utr get monitors --help

Global Options

  • --api_key
    Provide your UptimeRobot API key directly. This option overrides the API key file.

  • --api_key_file
    Specify the path to the file containing your UptimeRobot API key. (Default: ~/.uptimerobot)

Commands

1. get

Retrieve information from UptimeRobot. Available resources:

  • account
    Run utr get account to display account details, including monitor usage, SMS credits, and rate limits.

  • monitors
    Run utr get monitors [--output=yaml|table] [--lengthy] to list monitors with details like friendly name, URL, type, and more. Use --output to choose the format (default is table) and --lengthy for extended information (only for table output).

  • alert_contacts
    Run utr get alert_contacts [--output=yaml|table] [--lengthy] to retrieve and display alert contact information.

  • mwindows
    Run utr get mwindows [--output=yaml|table] [--lengthy] to list maintenance windows with start time, end time, duration, and status.

  • psps
    Run utr get psps [--output=yaml|table] [--lengthy] (Note: This resource is currently not implemented.)

2. apply

Apply changes defined in a YAML file to your UptimeRobot account. This command processes your YAML definitions for monitors, maintenance windows, and alert contacts, and performs create, update, or delete actions accordingly.

Run utr apply /path/to/config.yaml where the YAML file should contain definitions for:

  • monitors
  • mwindows
  • alert_contacts
  • psps (currently not implemented)

The tool will automatically convert user-friendly values to the appropriate UptimeRobot API format.

3. set

Update data for a specific resource from the command line. Currently, this command supports updating monitors.

Run utr set monitors [--field=value ...]
Additional filtering options can be passed as --field=value parameters to target specific monitors.

Other resources (account, alert_contacts, mwindows, psps) are marked as "todo" and are not yet implemented.

YAML file for applying updates to the UptimeRobot configuration

For the documentation of the YAML format used by the UptimeRobot CLI, please refer to the YAML syntax documentation.

Usage examples

  • Retrieve Account Details:
    utr get account --api_key YOUR_API_KEY

  • List Monitors containing "example" (within url or friendly_name), in a brief table format:
    utr get monitors --output=table --search=example --api_key YOUR_API_KEY

  • List some specific Monitors in YAML Format:
    utr get monitors --types=keyw --http_request_details=true --output=yaml

  • Get all monitors with type 2, 4 and 5:
    utr get monitors --types=2-4-5

  • The same using user-friendly parameter values:
    utr get monitors --types=keyw-port-beat --statuses=paused-down

  • Apply Changes from a YAML File:
    utr apply /home/admin/uptime_config.yaml

  • Bulk update monitors using command-line options - pausing and resuming some monitors at once:
    utr set monitors --search=example --status=paused utr set monitors --search=example --status=up

  • Bulk update all status pages utr set psps --status=paused utr set psps --status=active

Troubleshooting & Notes

  • API Limitations:
    Some operations (e.g., creating or updating alert contacts) are limited by the UptimeRobot API. The tool prints informative messages when certain actions cannot be performed.

  • Keys and Values:
    Additional --key=value options can be passed to refine API requests. These filters are processed automatically and applied to the corresponding API calls.

Credits, License

Release files for uptimerobot-cli 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uptimerobot-cli 1.1.0
File Size Uploaded
uptimerobot_cli-1.1.0.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uptimerobot-cli 1.1.0
File Interpreter ABI Platform
uptimerobot_cli-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.9 kB

Release files / uptimerobot_cli-1.1.0.tar.gz

Download URL uptimerobot_cli-1.1.0.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
df011b4257bc7c814846ab3c57b9994f2121ab70407eb9ebaa71c54778c254f0
BLAKE2b-256 checksum
How to use checksums
c17ec6f3f83021f509a2e71f5a03db6b415013f5464c77c49b3372e7e374b75a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release files / uptimerobot_cli-1.1.0-py3-none-any.whl

Download URL uptimerobot_cli-1.1.0-py3-none-any.whl
Size 11.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab882a782eaee52236b978824ce5acb59054a17e4aeb563d3b55d91d76ef5878
BLAKE2b-256 checksum
How to use checksums
8f6bfbc8f587b27a11296ac05d909e80019bbbf14ee1e94a6a864c753d8a6085
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page