REST API
Everything you can do in the app you can do from a script. Base URL https://honkwatch.com/api/v1. Send your key from Settings as Authorization: Bearer hw_.... Answers are JSON.
Monitors
GET /monitors | List monitors with status, last response time, uptime and expiry details. |
|---|---|
GET /monitors/{id} | One monitor, including the latest result per location. |
POST /monitors | Create. Body: type (http, api, keyword, pageload, ping, tcp, udp, dns, ssl, domain, heartbeat), target, optional name, interval seconds, port, keyword, expected, tags, slow_ms. |
POST /monitors/{id}/pause, /resume | Pause or resume. |
DELETE /monitors/{id} | Delete the monitor and its history. |
Hooks (push events to you)
GET /hooks | List your REST hooks. |
|---|---|
POST /hooks | Subscribe: {"target_url": "https://...", "event": "down|up|slow|ssl|all"}. We POST a JSON event to that URL. Zapier, Make and n8n use this. |
DELETE /hooks/{id} | Unsubscribe. |
GET /hooks/sample | A sample event payload for testing. |
Account
GET /me | Plan, limits, monitors used, SMS credits left. |
|---|
Heartbeats
A heartbeat monitor gives you a URL. Call it from cron, a backup job or a queue worker; we alert when the call stops coming.
curl -fsS https://honkwatch.com/hb/YOUR-HEARTBEAT-KEY
Badges
https://honkwatch.com/badge/{monitor id}.svg shows the current status as an image for a README or an intranet page.
Examples
curl -H "Authorization: Bearer hw_..." https://honkwatch.com/api/v1/monitors
curl -X POST -H "Authorization: Bearer hw_..." -H "Content-Type: application/json" \
-d '{"type":"http","target":"https://example.com","interval":60,"name":"Shop"}' \
https://honkwatch.com/api/v1/monitors
curl -X POST -H "Authorization: Bearer hw_..." -H "Content-Type: application/json" \
-d '{"target_url":"https://hooks.zapier.com/hooks/catch/...","event":"down"}' \
https://honkwatch.com/api/v1/hooks
Limits
60 requests a minute per key. Errors come back as {"error": "..."} with a 4xx status.