Skip to main content
Monitors are the core building block of Overwatch. Each monitor represents a single check that runs on a recurring interval: probing a URL, connecting to a TCP port, verifying a TLS certificate, resolving a DNS record, or waiting for a scheduled job to report in. When a monitor’s status changes, Overwatch fires alerts to the channels you’ve configured.

HTTP & TCP monitors

Poll endpoints and TCP ports on a configurable interval. Track uptime, latency, and degraded response times.

TLS & DNS monitors

Watch SSL certificates for expiration and DNS records for unexpected changes.

Cron job monitors

Heartbeat-based monitoring for scheduled tasks. Your job pings Overwatch — no inbound probing required.

Alert channels

Route status-change alerts to Slack, Discord, Teams, email, or a webhook.

Monitor types at a glance

Creating a monitor

Send a POST request to /api/v1/monitors with a name, type, and a config object. The fields inside config vary by monitor type — see each type’s page for details.
A successful response returns the created monitor object with status 201:

Monitor response fields

string
Unique monitor identifier.
string
Display name you assigned when creating the monitor.
string
One of HTTP, TCP, TLS, DNS, or SCHEDULED.
object
Type-specific configuration object. Fields vary by monitor type.
string
Current status. Possible values depend on the monitor type. Starts as unknown until the first check completes.
boolean
Whether the monitor is actively running checks. Defaults to true.
string | null
ISO 8601 timestamp of the last check-in. Only populated for SCHEDULED monitors.
string | null
Status reported on the last check-in (ok or fail). Only populated for SCHEDULED monitors.
string
ISO 8601 timestamp of when the monitor was created.
string
ISO 8601 timestamp of the last update to the monitor record.

Plan limits

The number of monitors you can create depends on your plan.
The default check interval for new monitors is 5 minutes. Pro plans support intervals as low as 1 minute. If you need 10-second intervals, contact us about Enterprise.
If you’ve reached your monitor limit, the API returns a 422 response with "upgrade": true. Upgrade your plan from Settings → Plan to add more monitors.

Listing monitors

Retrieve all monitors for your organization with a GET request:
Each monitor in the response is enriched with the latest check result, a 90-day uptime percentage, and a status history array. You can filter by type using the type query parameter:
You can also request a specific history range with the range parameter. Accepted values are 1d, 7d, 30d, and 90d (default).

Retrieving a single monitor

Deleting a monitor

Deletion is permanent and removes all associated check results.