---
title: WatchFor documentation FAQ
description: Short answers on checks and confirmation, monitor types, alerting, status pages, AI agents and the API, pricing, locations, EU/GDPR and migration.
canonical: https://watchfor.io/docs/reference/faq
---

# WatchFor documentation FAQ

Short answers on checks and confirmation, monitor types, alerting, status pages, AI agents and the API, pricing, locations, EU/GDPR and migration.

Short answers to the things people ask most, with links to the full guide.
For the public FAQ see [watchfor.io/faq](/faq).

## Monitoring

### What can I monitor?

25 monitor types: websites and HTTP, APIs (with JSON assertions and value
extraction), MCP servers, WebSocket, TCP and UDP ports, NTP, DNS, SSL/TLS
certificates, domain expiry, ping, network path (MTR), mail servers (SMTP),
FTP and SFTP, email policy (SPF/DKIM/DMARC), CDN, Brotli, Core Web Vitals,
sitemap, favicon, blocklists, CMS and data breaches, plus heartbeats and cron
jobs. See [Monitors](/docs/monitors).

### How often does WatchFor check my monitors?

You set the interval per monitor. The shortest interval you can choose
depends on your [plan](/docs/organization/billing) (and, for a few heavy
types, on the monitor type). Checks also speed up automatically while an
incident is open — see [Faster checks during an incident](/docs/alerting/incidents).

### Why does a monitor show "Degraded" instead of "Down"?

A single failed check shows as **Degraded**. **Down** is reserved for a
*confirmed* critical incident — a failure verified from several locations —
so the dashboard reflects real outages, not blips. A confirmed
warning-severity incident (slow responses, a certificate expiring soon) also
shows as Degraded. See [How incidents work](/docs/alerting/incidents).

### Will I get paged for a momentary network glitch?

No. A failure is [confirmed across several locations](/docs/alerting/incidents)
before an incident opens and notifications go out. A handful of types whose
answer doesn't depend on the vantage point (domain expiry, data breach,
blocklist, MCP, Core Web Vitals) skip the extra confirmation because a second
location wouldn't add information.

### Where does WatchFor check from?

From **20 locations in 7 regions** — Europe, North America, South America,
Asia, the Middle East, Africa and Oceania — over IPv4 and IPv6. Which
locations a monitor uses is up to you, within your plan. See
[Probe locations](/docs/reference/probe-locations).

### Do I need to install anything on my servers?

No — nothing to install. Every check runs from WatchFor's own locations
against the public address you give it. The one exception is deliberate:
[heartbeat and cron monitors](/docs/monitors/heartbeat) work the other way
round, your job calls a ping URL, which is a single `curl` line.

### Can I monitor a service behind a firewall?

If it's reachable from the internet but restricted, allowlist the published
[probe IP ranges](/ip-ranges) (or the `WatchForBot` User-Agent, verified by
reverse DNS or request signatures). Purely internal services with no public
route can't be reached by an external checker — use a
[heartbeat monitor](/docs/monitors/heartbeat) to watch the job that runs on
them instead. See [Probe locations](/docs/reference/probe-locations).

### How do I know a request really came from WatchFor?

Three ways: the source IP is in the published ranges, its reverse DNS is a
`*.probe.watchfor.io` hostname that resolves back to the same IP, and HTTP
requests carry RFC 9421 Web Bot Auth signatures you can verify against our
public keys. See
[Identifying and verifying WatchForBot](/docs/reference/probe-locations#identifying-and-verifying-watchforbot).

### Can I watch cron jobs and scheduled tasks?

Yes. A [heartbeat monitor](/docs/monitors/heartbeat) expects your job to ping
a URL on an interval or a cron schedule, and alerts when the ping is late,
missing or reports a failure. Use the [cron expression tester](/cron-expression-tester)
to double-check a schedule first.

### Can I reset a monitor's statistics?

Yes. Owners and admins can choose **Reset history** from the monitor's **⋯**
menu: it deletes every check, incident, note and post-mortem the monitor ever
recorded and starts uptime over from that moment, while the monitor keeps its
id, settings, alert rules, tags, locations and status-page components. It
cannot be undone, so the dialog asks you to type the monitor's name — see
[Actions on a monitor](/docs/monitors#actions-on-a-monitor).

### Can I migrate from another monitoring tool?

Yes. **Monitors → Import** brings monitors over from UptimeRobot, StatusCake,
Pingdom, Checkly, Site24x7 and Instatus (owners and admins), with a preview before
anything is created. Everything else — alert rules, channels, status pages —
can be created in bulk through the [REST API](/docs/api) or an AI agent
using the [MCP server](/docs/api/mcp).

## Alerting and incidents

### How do I get alerted when something breaks?

Add [notification channels](/docs/notifications) — email, Slack, Discord,
Telegram, Microsoft Teams, PagerDuty, Opsgenie, webhooks, SMS and more — and
route by severity. For paging humans in turn, add
[on-call schedules and escalation policies](/docs/alerting/on-call).

### Can I pause checks or schedule maintenance?

Both. **Pause** stops a monitor entirely. A
[maintenance window](/docs/monitors/maintenance) keeps the checks running but
suppresses alerts, excludes the time from uptime and can announce itself on
your status page — the right tool for deploys and planned work.

### Can I resolve an incident by hand, or write a post-mortem?

Owners and admins can [resolve incidents manually](/docs/alerting/resolving);
anyone on the team can acknowledge one and add
[internal notes](/docs/alerting/internal-notes). Every incident can get a
[post-mortem](/docs/alerting/postmortems) with a timeline and action items,
optionally published to your status page.

### A probe glitch caused a false incident — can I exclude it from uptime?

Yes. Once the incident is resolved, an owner or admin can **Mark as false
positive** on its page (or tick the box while resolving it): the incident
stays on record with a badge, but it leaves your uptime, SLA and reports and
is removed from the public status page. **Count as downtime again** undoes
it; if the outage was real but planned, mark it as maintenance instead — see
[False positives](/docs/alerting/resolving#false-positives).

## Status pages

### How do I tell my customers about an outage?

Publish a [status page](/docs/status-pages) at `yourname.watchfor.io` —
public, password-protected or private — with components backed by your
monitors, incident updates in your own words (or auto-published from
incidents), scheduled maintenance, uptime history, RSS, a badge and a JSON
endpoint.

### Can a status page use my own domain, or email subscribers?

Not yet. Pages live at `yourname.watchfor.io` (also `watchfor.io/stats/yourname`).
Visitors can follow a public page by RSS, and you can embed the
[status badge or `status.json`](/docs/status-pages/embed) on your own site.

### Can I show my providers' status (GitHub, Cloudflare, Stripe…) on my page?

Yes — add a [third-party component](/docs/status-pages/components#third-party-components).
It mirrors the provider's public status page, keeps a 90-day history, and
doesn't affect your own "all systems operational" banner.

## AI agents and the API

### Is there an API?

Yes — a REST API at `/api/v1` with 66 operations covering monitors, alert
rules, incidents, maintenance windows, contacts, status pages, reports,
activity, notifications and your plan, an OpenAPI spec, and SDKs/CLI named
`watchfor` on npm, PyPI and RubyGems. Keys are created under **Settings →
API keys** with a `read` or `write` scope. Start at the
[API overview](/docs/api).

### Can AI agents use WatchFor?

Yes — everything in the dashboard is available to AI agents. The
[MCP server](/docs/api/mcp) at `https://watchfor.io/api/mcp` exposes 45
tools (Claude, Cursor, Claude Code and any MCP client, with OAuth 2.1 sign-in
or an API key); the [A2A server](/docs/api/a2a) publishes 16 skills that
other AI agents can delegate to; and a separate documentation MCP server lets
an AI agent search these docs. Keyless sample data is at `/api/v1/sandbox`.

### Can an AI agent run a check on something I don't monitor?

Yes. [Live diagnostics](/docs/api/diagnostics) let an agent run any of 22
checks — DNS, propagation, whois, ping, traceroute, TCP ports, blacklists,
SSL, TLS grade, HTTP headers, email policy and more — against any public
target from the probe fleet, whether or not it is one of your monitors.
`diagnose-target` runs the whole bundle from up to three regions in one
call. Runs need a `write` key (they send real traffic from our IPs) and
spend the same per-plan allowance as the dashboard **Toolbox**; every
response says how much is left.

### Can I try the API without an account?

Yes: `GET https://watchfor.io/api/v1/sandbox/summary` (also `/monitors`,
`/incidents`, `/monitor-types`, `/locations`, `/reports`) returns read-only
sample data in exactly the live shapes. See [Sandbox](/docs/api/sandbox).

## Account, team and billing

### Can I invite my team?

Yes. Invite people by email and give them a role — owner, admin or member.
The [activity log](/docs/organization/activity-log) records who changed
what. See [Members & roles](/docs/organization).

### Does WatchFor charge per seat?

No. There are no per-seat fees; the number of members is simply one of your
plan's limits, alongside monitors, check frequency and locations. Current
plans are on the [pricing page](/pricing).

### Is there a free plan?

Yes — a free-forever plan with real monitoring, confirmed incidents and
alerting; what it includes is on the [pricing page](/pricing). Every account
gets one free workspace; extra workspaces need their own plan. See [Billing & plans](/docs/organization/billing).

### What happens if I downgrade?

Nothing is deleted. Monitors above the new allowance keep running with their
existing configuration; you can't add more, or shorten intervals, until
you're within the new limits. See
[Changing plans](/docs/organization/billing#changing-plans).

### How do I manage billing, invoices and cancellation?

Self-serve under **Settings → Subscription**: change or cancel your plan
(cancellation takes effect at the end of the paid period), update the payment
method, download invoices, redeem a coupon. See
[Billing & plans](/docs/organization/billing).

### Can I have more than one organization (workspace)?

Yes. Each account includes one free workspace; each additional workspace you
create needs its own plan (being invited into other organizations doesn't
count). See [Multiple workspaces](/docs/organization#multiple-workspaces).

### How far back can I see my history?

Uptime, response-time and incident history are kept on each monitor page,
including an **Uptime SLA** tab for any custom date range that's printable as
a report, and weekly/monthly [reports](/docs/reports) compare each period
with the one before.

## Data and security

### Where is my data stored, and does GDPR apply?

Monitoring configuration and incident history are stored in the European
Union under European law, so GDPR applies end to end. Checks run from
locations worldwide, but they only ever touch the targets you configure. See
the [privacy policy](/legal/privacy) and [subprocessors](/legal/subprocessors).

### Is my data secure?

Checks run over encrypted connections; team access is role-based with an
audit log; two-factor authentication is available for every user; API keys
are stored hashed, scoped and revocable; and status pages can be private or
password-protected. Each organization's data is fully isolated.

### Do you publish your own status and changes?

The [changelog](/changelog) lists every release, with an RSS feed you can
subscribe to.

> **Still stuck?**
>
> If something here doesn't answer your question, [contact us](/contact) —
> we're happy to help you get set up.

---

Canonical page: https://watchfor.io/docs/reference/faq · All docs: https://watchfor.io/docs · Site guide: https://watchfor.io/llms.txt
