ICPWatch
Get alerts

Documentation

Short guides to the parts of ICPWatch that are not obvious.

Guides

Webhook payload

Webhook subscribers receive a POST with a JSON body and an X-ICPWatch-Signature header containing the hex HMAC-SHA256 of the raw body, keyed with the secret shown at subscribe time.

{
  "event": "incident.opened",          // or "incident.resolved"
  "incident": {
    "id": 1842,
    "type": "low_cycles",              // low_cycles | frozen | approaching_deletion | burn_anomaly
    "severity": "warn",
    "title": "Low cycles: CHAT Archive 2",
    "detail": "0.62 T left, about 12 days until it freezes...",
    "opened_at": 1790000000,
    "resolved_at": null
  },
  "canister": { "id": "...", "label": "...", "role": "archive", "token": "CHAT", "cycles": 620000000000, "confidence": "measured" },
  "url": "https://icpwatch.com/canister/..."
}

Health states

StateMeaning
HealthyMore than 45 days until freeze at the current burn.
At riskUnder 45 days until freeze.
Low cyclesUnder 14 days until freeze.
FrozenRejecting calls. Burning storage cost until deletion.
Life supportDeliberately held frozen and above zero by ICPWatch.
RespondingBalance not readable, but the canister answers queries.