Create your keys in the dashboard, under “API & MCP”. OpenAPI 3.1 schema: https://watcherwolf.com/v1/openapi.json
Authentication
Every request carries your key in the Authorization header:
Authorization: Bearer ak_wolf_a1b2c3…
The key is shown only once, when you create it. There are two scopes: read only and read and write.
REST endpoints
| Method | Path | What it does | Scope |
|---|---|---|---|
GET | /v1/status | Account summary: sites up and down, 24 h uptime and active incidents | read |
GET | /v1/monitors | List monitors (filters: status, active, limit, offset) | read |
POST | /v1/monitors | Create a monitor. Fields: url*, name, check_interval, keyword, notify_email | write |
GET | /v1/monitors/{id} | Monitor detail with 24 h and 7-day uptime | read |
PATCH | /v1/monitors/{id} | Update a monitor (same fields as create, plus is_active) | write |
DELETE | /v1/monitors/{id} | Delete a monitor and its history (can’t be undone) | write |
GET | /v1/monitors/{id}/checks | Latest checks: status, timings and HTTP code (limit ≤ 500) | read |
POST | /v1/monitors/{id}/pause | Pause the monitor | write |
POST | /v1/monitors/{id}/resume | Resume the monitor | write |
GET | /v1/incidents | Incidents (filters: status, monitor_id, days, limit) | read |
GET | /v1/pagespeed | Recent PageSpeed and Core Web Vitals results | read |
GET | /v1/ssl | SSL certificates: validity and days until expiry | read |
GET | /v1/domains | Expiry of monitored domains | read |
GET | /v1/guardian | Guardián anomalies | read |
Examples
Account status:
curl https://watcherwolf.com/v1/status \
-H "Authorization: Bearer ak_wolf_…"
Create a monitor:
curl -X POST https://watcherwolf.com/v1/monitors \
-H "Authorization: Bearer ak_wolf_…" \
-H "Content-Type: application/json" \
-d '{"url": "https://myshop.com", "name": "My shop", "check_interval": 60}'
MCP server
Connect WatcherWolf to Claude or another MCP-compatible assistant and ask about your sites: “is everything up?”, “which certificates expire this month?”, “create a monitor for myshop.com”.
# Claude Code
claude mcp add watcherwolf --transport http https://watcherwolf.com/mcp \
--header "Authorization: Bearer ak_wolf_…"
| Tool | What it does |
|---|---|
list_monitors | Lists monitors with their current status |
get_monitor | Detail and 24 h / 7-day uptime of a monitor |
create_monitor | Creates a monitor (write scope) |
pause_monitor / resume_monitor | Pauses or resumes a monitor (write scope) |
list_incidents | Recent outages with duration and reason |
get_uptime_summary | Account summary |
get_pagespeed_scores | PageSpeed scores and Core Web Vitals |
get_ssl_status | SSL certificates by urgency |
get_domain_expiry | Domains by expiry date |
list_guardian_anomalies | Detected performance anomalies |
Errors and limits
{"error": {"message": "The API is available on the Agency and Business plans…", "type": "plan_not_included"}}
401 unauthorized·403 plan_not_included·403 limit_reached·404 not_found·400 validation_error·429 rate_limited- Limits: 200 requests per minute on REST and 600 on MCP, per key.
- Plan limits (number of monitors, minimum interval) apply just as in the dashboard. check_interval is in seconds, 60 at least on every plan.