Start here

Monitor types

All twelve monitor types with what each checks and an example config — HTTP, TCP, UDP, TLS, SSL/TLS security, domain security, DNS, ICMP, WebSocket, traceroute, gRPC and multi-step API.

Twelve types across three tiers, all on the same spine — same scheduling, regions, thresholds, incidents and timeline. Each type below lists what it checks and the config object it accepts. The marketing pages under /monitors explain when to reach for each one.

HTTP(S)

Basic monitoring · target: https://example.com. Status, latency, redirects, response headers and body/JSON assertions — over HTTP or HTTPS.

  • Response status code and total latency
  • Redirect handling — follow up to 10 hops, or report the redirect itself
  • Response header, body-content and JSON-field assertions
  • Pre-request scripts and on-demand executions (HTTP family only)
http.jsonjson
{
  "name": "Checkout API",
  "type": "http",
  "target": "https://api.example.com/health",
  "interval_seconds": 60,
  "region_codes": ["us-east", "eu-west"],
  "config": {
    "method": "GET",
    "follow_redirects": true,
    "assertions": [{ "type": "status", "equals": 200 }]
  }
}

TCP

Basic monitoring · target: example.com:443. Connect-and-handshake reachability for the service behind a host:port.

  • TCP connect to host:port succeeds
  • Connect latency
tcp.jsonjson
{ "type": "tcp", "target": "db.example.com:5432", "interval_seconds": 60 }

UDP

Basic monitoring · target: example.com:53. Datagram probe — UDP has no handshake, so send a message and match the reply.

  • Local socket opens
  • Optional: send a datagram and match a substring in the reply
udp.jsonjson
{
  "type": "udp",
  "target": "dns.example.com:53",
  "config": { "udp_message": "ping", "udp_expected_response": "pong" }
}

TLS

Basic monitoring · target: example.com:443. Raw TLS handshake and certificate validity at a host:port (any TLS service, not just HTTPS).

  • TLS handshake completes
  • Certificate chain validity and expiry
tls.jsonjson
{ "type": "tls", "target": "smtp.example.com:465", "interval_seconds": 300 }

DNS

Basic monitoring · target: example.com. Does a name still resolve to what you expect — the right record type, value and across regions.

  • Chosen record type (A, AAAA, CNAME, MX, TXT, …) resolves
  • Value matches what you expect
  • Resolver drift and cross-region propagation
dns.jsonjson
{
  "type": "dns",
  "target": "example.com",
  "config": { "dns_record_type": "A" }
}

ICMP (ping)

Basic monitoring · target: example.com or an IP. Raw reachability and packet loss — a real ICMP echo from every probe node.

  • ICMP echo reachability
  • Packet loss and round-trip time
icmp.jsonjson
{ "type": "icmp", "target": "203.0.113.10", "interval_seconds": 60 }

WebSocket

Basic monitoring · target: wss://example.com/socket. The upgrade handshake, plus an optional round-trip: send a frame and match the reply.

  • WebSocket upgrade succeeds
  • Optional: send a text frame and match a substring in the response
websocket.jsonjson
{
  "type": "websocket",
  "target": "wss://example.com/socket",
  "config": { "websocket_message": "ping", "websocket_expected_response": "pong" }
}

Traceroute

Basic monitoring · target: example.com or an IP. The network path to a host — hop-by-hop — so a routing change is visible, not just a slowdown.

  • Hop-by-hop path to the target
  • Per-hop latency
traceroute.jsonjson
{ "type": "traceroute", "target": "example.com", "interval_seconds": 300 }

SSL/TLS Security

Security checks · target: https://example.com. A graded security assessment (A+ to F) across TLS/SSL config, certificate trust, HTTP headers and more — with a scoring mode you choose.

  • TLS/SSL configuration and certificate trust (CAA issuer alignment, OCSP revocation)
  • HTTP security headers, cookies, CORS, content, redirects, exposure and scripts
  • One rolled-up A+–F grade — see Security posture for the scoring modes
light_security.jsonjson
{
  "type": "light_security",
  "target": "https://example.com",
  "config": {
    "security_scoring_mode": "low",   // low | medium | high
    "dns_resolver": "1.1.1.1:53"
  }
}

Domain Security

Security checks · target: example.com. Who controls the domain, and whether that changed: registrar state, the DNS control plane, email authentication and reputation.

  • Registrar / registration state
  • DNS control plane and nameservers
  • Email authentication — SPF, DKIM, DMARC
  • Domain reputation signals
domain.jsonjson
{
  "type": "domain",
  "target": "example.com",
  "config": { "dns_resolver": "1.1.1.1:53" }
}

gRPC

Protocol · target: grpc.example.com:443. Health-check a gRPC service, or call a specific unary method — with service discovery to build the request.

  • grpc.health.v1.Health check, or a unary RPC to a chosen method
  • Service/method discovery to scaffold the request body
  • Per-call latency and status
grpc.jsonjson
{
  "type": "grpc",
  "target": "grpc.example.com:443",
  "config": { "grpc_mode": "health_check" }
}

Multi-Step API Test

Advanced / Synthetic · target: https://api.example.com/v1. A chained, synthetic workflow: several requests in sequence, passing values between steps, with per-step assertions and scripts.

  • Ordered request steps with variables carried between them
  • Per-step response, header and JSON assertions
  • Pre-request and post-response scripts (pulse.* API); optional cleanup steps
multi_step_api.jsonjson
{
  "type": "multi_step_api",
  "target": "https://api.example.com/v1",
  "config": {
    "workflow_steps": [
      { "name": "login",   "method": "POST", "path": "/auth" },
      { "name": "fetch",   "method": "GET",  "path": "/orders" }
    ]
  }
}

Fields shared by every type

FieldMeaning
interval_secondsHow often the monitor runs. The floor depends on the plan: 60 s Free, 30 s Team, 15 s Pro, 10 s Enterprise.
region_codesUp to 20 region codes (us-east, us-central, us-west, eu, au, asia, me). In the current build the first code is the region that executes the monitor; the rest are stored for when multi-region execution ships.
config.failure_threshold / success_thresholdConsecutive failures before down, consecutive successes before up. Default 1 each.
config.alert_destination_idsUp to 20 notification destination ids. See Alerting.
config.environment_idAn environment variable set whose {{VAR}} and {{secret.VAR}} values are substituted into the request (HTTP, API and multi-step types).
config.auth_type + auth_credential_idA credential from the vault: bearer, api_key, basic, mtls, oauth2, jwt, ntlm, kerberos, custom, aws_sigv4. gRPC uses grpc_credential_id.
tagsFree-form labels used for filtering, reports and status-page grouping.

Try it on your own endpoints.

Ten monitors, one region and a status page are free — no card.

Start free