Unlike heartbeat checks, where your job pings us, an HTTP check polls a URL itself — the service sends a request at a fixed interval and alerts when the response stops looking right.
Create the check in the dashboard (type "HTTP") or via the
API — the http_config field:
| Parameter | Default | Description |
|---|---|---|
url | — | http/https, up to 2048 characters |
method | GET | GET / HEAD / POST |
timeout_sec | 10 | 1–30 s for the whole request |
expected_codes | 2xx, 3xx | up to 10 values: classes ("2xx") and/or exact codes (301) |
keyword | — | a string that must be present in the response body |
keyword_absent | false | true — the string must be absent instead |
follow_redirects | true | whether to follow redirects |
headers | — | up to 10 custom headers |
basic_auth | — | username + password |
ssl_days_before | 14 | 7 / 14 / 30 — how many days before certificate expiry to alert |
confirmations | 2 | K consecutive failed probes before down (1–5) |
An HTTP check's schedule is always a fixed interval
(30–3600 s); cron expressions are for heartbeat checks only.
Requests are sent with User-Agent: CronAlive-Probe/1.0.
The keyword check does not apply to HEAD — the body is empty.
| Free | Pro | Business |
|---|---|---|
| 5 min | 1 min | 30 s |
timeout_sec;expected_codes — the alert says "unexpected status 503";Every probe is recorded: response code, latency (ms), probe region, error text. Latency is shown on the duration chart of the check page.
One failed request is not an incident yet. The down status
is assigned only after confirmations
(2 by default) consecutive failed probes — an outage is
detected within at most K intervals. The first successful
response resets the counter and flips the check back to up.
In a multi-region setup a down additionally requires confirmation from a second region: after K local failures the probe job is dispatched to agents in other regions, and the flip happens only when at least two distinct regions see the failure within a 15-minute window. A local network issue of a single region does not cause a false alert.
For https URLs the service watches the certificate expiry
(checked every 12 hours, alongside a successful main probe).
When ≤ ssl_days_before days remain,
an alert goes to all enabled integrations of the project
(webhooks receive the ssl_expiring
event). Leave the "SSL" field empty to disable.