Unsparing Docs

Uptime Monitoring

Monitor HTTP, HTTPS, and TCP endpoints from multiple locations. Know before your users do when something is down.

How Uptime Monitoring Works

Unsparing periodically requests your endpoints from multiple locations. If a check fails, Unsparing confirms from a second location before triggering an alert — no false positives.

Adding an Uptime Monitor

  1. Navigate to Uptime → Monitors and click Add Monitor
  2. Configure the monitor:
FieldDescription
TypeHTTP/HTTPS or TCP
URL / HostThe endpoint to monitor
Check Interval1 min, 5 min, 15 min, 1 hour
Expected StatusHTTP status code(s) to expect (default: 200)
TimeoutMaximum response time before marking as degraded
KeywordOptional string to search for in the response body

Check Types

HTTP/HTTPS

The most common check type. Unsparing makes a request to your URL and validates:

  • Status code matches expectations
  • Response body contains (or doesn't contain) specific keywords
  • Response time is within the configured timeout
  • SSL certificate is valid (for HTTPS)

TCP

For services that don't speak HTTP — databases, SSH, Redis, custom services:

  • Unsparing opens a TCP connection to the specified host:port
  • If the connection succeeds, the service is up
  • If the connection fails or times out, the service is down

Alert Conditions

ConditionDescription
Endpoint downNo response or unexpected status code
Response slowResponse time exceeds threshold
SSL issueCertificate expired or invalid
Keyword missingExpected text not found in response
RecoveryService is back up after being down

Response Time Tracking

Unsparing tracks response times and provides:

  • Average response time over 1h, 24h, 7d, 30d
  • Percentiles (p50, p90, p95, p99)
  • Response time graphs in the dashboard
  • Degradation alerts when response time exceeds threshold

Maintenance Windows

Need to mute alerts during a deploy? Set a maintenance window:

  1. Go to Uptime → Monitors → [Your Monitor] → Maintenance
  2. Set the start and end time
  3. Alerts during this window are suppressed and logged separately

API Endpoints

List Uptime Monitors

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.unsparing.dev/api/v1/uptime/monitors

Create an Uptime Monitor

curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "https",
    "url": "https://api.example.com/health",
    "check_interval": 60,
    "expected_status": [200],
    "timeout": 10
  }' \
  https://api.unsparing.dev/api/v1/uptime/monitors

Pause/Resume a Monitor

# Pause
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.unsparing.dev/api/v1/uptime/monitors/mon_abc123/pause

# Resume
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.unsparing.dev/api/v1/uptime/monitors/mon_abc123/resume

Plan Limits

PlanUptime Monitors
Free3
HomelabberUnlimited
TeamsUnlimited
AgencyUnlimited

Alerts & Notifications · API Reference

On this page