Checks
A check is a scheduled probe against an endpoint. WatchDeck currently supports two types — pick the one that matches what you’re monitoring.
Adding your first check
Adding an endpoint is adding a check — the form lives at Endpoints → Add endpoint. It’s a single page with four labelled sections (General, Monitoring, Assertions, Alerts), not a wizard, so you can jump between sections without losing state.
How a check runs
Each scheduled run flows through the same pipeline regardless of type:
- Probe. WatchDeck issues the request — an HTTP fetch, or a TCP connection attempt.
- Status evaluator. Decides
healthy/degraded/downfrom the raw probe result. Rules in order: connection error →down; port refused →down; HTTP status not inexpectedStatusCodes→down; response time overlatencyThreshold→degraded; otherwisehealthy. - Assertions. If the base status isn’t already
down, every configured assertion runs against the response. The worst failed severity (downordegraded) wins. - Streak counters. A run that’s
downincrements the failure streak. Once the streak reachesfailureThreshold, an incident opens. A run ofrecoveryThresholdconsecutive healthy results closes it.
Defaults
| Field | Default | Section in form |
|---|---|---|
| Check interval | 60s | Monitoring |
| Timeout | 10s | Monitoring |
| Latency threshold | 5s | Monitoring |
| SSL warning window | 14 days | Monitoring (HTTPS) |
| Failure threshold | 3 consecutive | Monitoring |
| Recovery threshold | 2 consecutive | Monitoring |
| Expected status codes | [200] | General (HTTP) |
The minimum check interval is 60 seconds and is enforced at the database layer — the form preset chips won’t go lower.
Editing a check after creation
Open the endpoint and switch to the Settings tab. Every field from the add form is editable live, with one exception: the check type (HTTP vs TCP) is locked at creation. To change type, use Clone Endpoint from the endpoints list and pick the new type when the form opens.
Previewing before saving
The Assertions section has a Test now button that runs a one-shot probe against the configured URL and renders the live response — status code, latency, content type, and per-assertion pass/fail — without writing anything to your check history. Use it to sanity-check assertions while you’re still drafting them.
See Assertions → Testing live for the full preview flow.