Skip to content

Check intervals

interval_seconds is how often an active probe runs. It is not a free-form number: it must be one of a small set of tiers, and it must also clear your plan’s floor. Those are two different rules with two different error codes, which is why “why can’t I pick 30 seconds?” has two possible answers.

An interval that is not one of these is rejected as a validation error — a 400, before anything is saved.

  • INTERVAL_TIERS — 30, 60, 300 seconds
  • TLS_INTERVAL_TIERS — 30, 60, 300, 3600, 86400 seconds
  • MULTISTEP_INTERVAL_TIERS — 60, 300 seconds

Which set applies is decided by the monitor’s type:

Type Tiers
http INTERVAL_TIERS
tcp INTERVAL_TIERS
tls TLS_INTERVAL_TIERS
dns INTERVAL_TIERS
ping INTERVAL_TIERS
heartbeat none
multistep MULTISTEP_INTERVAL_TIERS

Two of those rows are deliberate exceptions:

  • tls keeps the frequent tiers and adds hourly and daily. A certificate does not change between two 30-second handshakes, so a daily check is enough to watch an expiry date. The handshake is still an uptime signal, so the frequent tiers remain valid if that is what you want from it.
  • multistep drops the fastest tier. One run issues many requests, so a 30-second synthetic transaction would hammer the target rather than measure it.

And one is not an exception but a different thing entirely: a heartbeat has no interval at all. Setting one is a validation error. Its cadence is config.period_seconds, which may be anything from 30 seconds to 604800 seconds — sub-minute health pings through weekly batch jobs. See Monitor types.

On top of the tier set, your plan carries a min_interval_seconds quota. An interval below it is refused with 402 and the metric named — the request is valid, your plan does not include it.

Plan min_interval_seconds
free 300
basic 60
premium 30
enterprise 30

So on Free, 30 is a legal tier and still refused: the tier check passes and the floor rejects it. The two answers to “why can’t I pick 30 seconds” are therefore distinguishable by status code — 400 means the number is not a tier, 402 means your plan floors above it.

The floor is re-checked when you edit a monitor, not only when you create one.

timeout_ms must be strictly less than interval_seconds × 1000, and must itself be between 1000 and 60000 milliseconds. A probe that could still be running when the next one starts is not a measurement of anything, so this is refused rather than clamped.

At the Free floor of 300 seconds a timeout has 300000 milliseconds of headroom, so the 60-second ceiling binds first. At 30 seconds the interval binds: 29999 is the highest legal value.

  • How fast an incident opens. That is the detection rule — consecutive failures, then a corroborating probe from a second location. A longer interval makes each of those steps take longer in wall-clock time, but the count does not change. See Getting started.
  • How long results are kept. That is the history_window_days quota.
  • How many locations probe. Each location probes on the same interval independently, so a monitor on three locations at 60 seconds issues three requests a minute, not one.