Catalogue
The Catalogue is WatchDeck’s built-in reference library for outcomes. Every HTTP status code your endpoints might return, every network error the probe can raise (DNS failures, TLS handshakes, TCP connection refused, undici error codes, common Node.js errors), and every edge case worth knowing about lives here as a searchable card.
It’s a knowledge base, not a template store — there is no “add to my account” or “submit a template” path. You use it to look things up.
When you’d use it
- An endpoint just flipped to
downwith reasonEAI_AGAIN. Search the catalogue forEAI_AGAINto learn it’s a transient DNS failure, what tends to cause it, and whether it should be retryable. - A status code you’ve never seen before (e.g.
421 Misdirected Request) shows up in your check log. The catalogue tells you what it is, who emits it, what to check next. - You’re tuning expected status codes for a check and want to know whether
308 Permanent Redirectshould be in your list — the catalogue has the policy WatchDeck applies by default.
What’s in each entry
Every entry is one of:
| Field | Meaning |
|---|---|
| Code | Numeric status (502) or named error (ECONNREFUSED, CERT_HAS_EXPIRED). |
| Family | Group it belongs to — one of http, dns, tcp, tls, http2, undici, node. |
| Label | Short human name (Bad Gateway). |
| Policy | What WatchDeck would classify this outcome as: healthy, degraded, down, or inconclusive. |
| Tier | curated (handwritten) or auto (auto-generated from an IANA snapshot). |
| Description | What the code actually means. |
| Common causes | The handful of root causes worth checking first. |
| Related codes | Other catalogue entries to look at next. |
| Vendor | Which spec or stack defines it (RFC 9110, undici, Node.js, etc.). |
| References | Links to the canonical spec or vendor docs. |
| Recheck policy | Whether WatchDeck retries on this outcome and at what cadence. |
| User-actionable | Boolean — does the user need to do something, or is it transient? |
Browsing
The catalogue page (Catalogue in the sidebar) is a searchable grid of cards.
| Control | Behaviour |
|---|---|
| Search | Matches code, label, description. |
| Family filter | Limit to one family (HTTP 5xx, TLS, DNS, etc.). |
| Tier toggle | Curated only vs include auto-layer. Curated = handwritten entries with rich content. Auto = IANA-spec fallback for codes nobody has written prose for yet. |
Click any card to open its detail view — full description, common causes, and references.
The Catalogue side panel
Catalogue codes also appear inline elsewhere in the app. Wherever you see a status code or error code in the dashboard, an incident, or a check log, clicking it opens a side panel with the full catalogue entry — without leaving the page you were on.
The side panel uses the same data as the catalogue page; it’s mounted at the app layout level so any code you click anywhere lights up.
Curated vs auto-layer entries
- Curated — written by the team. These have prose descriptions, common-causes lists, and recommended actions. Cover every HTTP status code WatchDeck classifies non-trivially, and every network/TLS/DNS error the probe can raise.
- Auto — generated from a snapshot of the IANA HTTP status registry. HTTP-only fallback so any HTTP code you encounter has something, even if it’s just the spec definition. Network / TLS / DNS / Node errors are covered exclusively in the curated tier. Toggle the curated only switch off to include the auto entries in your search.
The catalogue is versioned — CATALOGUE_VERSION is bumped each time entries are added, so you can tell whether a code you noticed last week is now documented.
What’s not in the Catalogue
A few things people sometimes look for here that live elsewhere:
- Public status pages. WatchDeck doesn’t host public-facing status pages today. Every page in the cloud product requires sign-in.
- Check templates / one-click “monitor my Postgres” presets. No template gallery. Add a check via Endpoints → Add endpoint; the catalogue is reference, not a starter kit.
- Submit-a-code workflow. No public submission path today. If a code’s missing, open an issue on the WatchDeck repository .