Waklio

REST API

Manage your Waklio monitors from scripts, CI pipelines or infrastructure tools. All requests and responses are JSON.

Authentication

Create an API key under Settings → API keys and send it as a bearer token:

curl https://www.waklio.com/api/v1/monitors \
  -H "Authorization: Bearer upt_your_key"

Limit: 120 requests per minute per key. Errors return { "error": "…" } with a 4xx status.

Monitors

List monitors

GET /api/v1/monitors

{ "data": [ { "id": "…", "name": "Shop", "type": "http", "status": "up",
              "url": "https://shop.example.com", "intervalSeconds": 60,
              "uptime24h": 100, "lastResponseTimeMs": 182, … } ] }

Create a monitor

POST /api/v1/monitors
Content-Type: application/json

{ "name": "Shop", "type": "http", "url": "https://shop.example.com", "intervalSeconds": 60 }

Fields by type:

All types: name, intervalSeconds (30–86400, at least your plan's minimum) and optional channelIds (defaults to all alert channels). Returns 201 with the monitor.

Get, update, delete

GET    /api/v1/monitors/:id          # includes uptime24h / 7d / 30d
PATCH  /api/v1/monitors/:id          # send only the fields to change
DELETE /api/v1/monitors/:id          # 204
POST   /api/v1/monitors/:id/pause
POST   /api/v1/monitors/:id/resume
GET    /api/v1/monitors/:id/incidents?limit=50

Alert channels

GET /api/v1/alert-channels

{ "data": [ { "id": "…", "name": "On-call", "type": "slack", "createdAt": "…" } ] }

Example: pause monitoring during a deploy

curl -X POST https://www.waklio.com/api/v1/monitors/$MONITOR_ID/pause -H "Authorization: Bearer $KEY"
./deploy.sh
curl -X POST https://www.waklio.com/api/v1/monitors/$MONITOR_ID/resume -H "Authorization: Bearer $KEY"