# When an alert fires

**In short:** each watch gets rules from its own history. Set your own on its **Rules** tab (**Add rule**, or **Edit** on a rule): a limit (below 10 in 24 hours) or a change (3× the usual). Yours are never changed for you.

Each watch gets its own automatic rules, picked from its own history, so a busy watch and a slow one are judged differently: up to the plan's automatic rules per watch (Free 3, Pro 4). A rule is written in **times usual**: `1H ×4` fires when the last hour is 4 times its usual level; `24H ×0.3` when a day falls to 30% of usual. Automatic rules can change as CountWatch learns a watch. When no rule fits a watch, the import result says so and suggests a fixed limit.

**Your own rules.** `POST /v1/rules` sets a shared rule on a group (`group_id`: every watch in it, now and later) or a rule on one watch (`watch_id`: added to its group's; with `replaces`, a shared rule changed for that watch only, or with `off: true` turned off for it): a change `{direction, hours, times_usual}` replaces the automatic rules of its direction (add `min_change`, a count, to alert only when the count is also at least that many above or below the usual: it keeps a small count from alerting), a fixed limit `{bound: max | min, hours, limit}` is added. A rule you set is never changed automatically; the answer estimates how often a watch rule would have alerted. `GET /v1/rules?watch_id=` shows every rule in force (an automatic rule turned off for the watch in the app has `off: true`); `PATCH /v1/rules/{rule_id}` with `off: true` keeps a watch's own rule but never checks it (`off: false` turns it on again); `DELETE /v1/rules/{rule_id}` goes back to automatic.
