Endpoints
An endpoint is one thing WatchDeck monitors — an HTTP URL or a host:port. This page covers everything outside the check itself: the list view, the lifecycle actions you can take on a row, and the quotas you need to know about.
For what an endpoint contains, see Concepts → Endpoint. For the probe pipeline, see Checks.
The list view
/endpoints is the operational hub. The default sort puts the worst things first — down before degraded before inconclusive before healthy (see run statuses) — so anything at risk is always at the top.
| Column | What it shows |
|---|---|
| Status | Coloured chip from the last recorded check. |
| Name | Endpoint name with URL or host:port underneath. |
| Uptime | Last 24h uptime percentage. |
| 30d | A bar of the last 30 days, day by day. |
| 30d % | 30-day uptime number. |
| Response | Last response time (ms). |
| Last Checked | Time since the last run. |
Filters
- Search — name, URL, or
host:port. - Status —
All · Healthy · Degraded · Down · Inconclusive. - Type —
All Types · HTTP Only · Port Only.
Sort
Click any sortable header to switch sort: status, name, uptime, response.
Adding an endpoint
Click Add Endpoint in the top-right of the list. The form is a single page with four labelled sections — sidebar nav lets you jump between them without losing state.
| Section | What lives here |
|---|---|
| General | Name, description, type (HTTP / Port), URL or host:port, method, expected status codes, custom headers. |
| Monitoring | Check interval, timeout, latency threshold, SSL warning window, failure / recovery thresholds. |
| Assertions | Body, header, JSON, latency, and SSL assertions. |
| Alerts | Notification channels, escalation channel + delay, alert cooldown, recovery alert toggle. |
The first time you add an endpoint, the form starts from product defaults — 60s interval, 10s timeout, 5s latency, 14-day SSL warning, 3/2 thresholds. Once you save your own under Settings → Defaults, new endpoints start from those values instead.
Use Test now in the Assertions section to fire a one-shot probe before saving. It runs the same evaluator pipeline as a real check but writes nothing to history — see Checks → Assertions.
Editing an endpoint
Open any endpoint and switch to the Settings tab. Sections mirror the add form, plus a Danger zone at the bottom.
Each section tracks its own dirty state — a small dot appears on the section name in the sidebar when you have unsaved changes there, and a top-of-page banner reminds you to save before navigating away.
What you can change post-creation
Everything except the type. The HTTP / Port toggle is locked at creation:
Locked · set at creation
To switch type, clone the endpoint and pick the new type when the cloned form opens.
Cloning
From the list view’s row menu, pick Clone Endpoint. WatchDeck:
- Copies every config field — URL, headers, assertions, thresholds, channel routing, status, enabled flag.
- Suffixes the name with
" (copy)". - Resets runtime fields — last status, response time, incident pointer, and streak counters all start fresh.
- Drops you into the cloned endpoint’s Settings tab so you can adjust anything before it starts running.
Clone is the fastest way to spin up a near-duplicate (e.g. a staging variant of a production endpoint) and the only way to convert HTTP to port or vice versa.
Pausing
From the row menu, pick Pause Monitoring. The endpoint’s status flips to paused:
- The scheduler skips it on every tick — no probes go out.
- No assertions evaluate, no incidents open, no notifications fire.
- Existing history (checks, incidents, summaries) stays untouched.
- The 30-day bar will show a gap for the paused window once you resume.
Resume from the same menu (it now reads Resume Monitoring). Pausing is non-destructive and reversible — use it for planned maintenance or while you’re triaging false positives.
Deleting
Two delete entry points, both confirmed:
- From the list — the row menu’s Delete Endpoint opens a quick confirm modal.
- From Settings → Danger zone — the same delete action, but you must type the endpoint name before the button enables.
Deletes are hard deletes. The endpoint row, every check in its history, every incident, and the daily / hourly rollups go in one cascade. Notification log entries are kept (the endpoint reference is set to NULL) so post-delivery audits still work, but per-endpoint history is gone forever.
If you want to stop monitoring without losing history, pause instead.
Bulk actions
Select multiple endpoints with the checkbox column and a toolbar appears:
- Recheck — fires an immediate one-shot probe against each selection, results recorded.
- Toggle — pauses every active selection and resumes every paused one.
- Delete — opens the same confirm modal as a single delete, applied to the whole selection.
There’s also a top-level Recheck all endpoints button that doesn’t need a selection.
Quotas
Endpoint counts are capped per plan and enforced at the database layer — the Add Endpoint button disables when you’re at your cap, and any over-cap insert returns Postgres error PT403. See Pricing for the per-plan numbers.
Other in-form caps that apply at every plan:
- Up to 10 assertions per endpoint.
- Description ≤ 500 characters.
- Port range 1–65535.
- Minimum check interval 60 seconds — enforced both client-side and by a database
CHECK.
See Limits for the full list of in-form caps and retention windows.
What’s not in the product
Two things people often look for — explicit not there so you don’t go hunting:
- Tags / groups — there’s no tagging on endpoints today. Use search and the type filter to slice the list.
- Acknowledgement on incidents — incidents go directly from
activetoresolvedonce the recovery streak fires. There’s no manual ack.