Docs / Connect your data
Bring in past data
Send past counts so alerts start today, and see which alerts the past would have raised.
In short: send your past counts once, and CountWatch knows your normal week from the first day: alerts start the same day instead of after about 22 days. The result also lists the alerts that history would have raised, so you see what you would have caught. Your agent can do this for you.
POST /v1/import takes bucket arrays per watch: {metric, dimensions, start, resolution: 5m | 1h | 1d, counts[]}, up to 90 days each and 1,000 watch-days per request. Have only the times of single events (sign-ups, orders)? Send {metric, events: ["2026-08-01T19:04:44Z", …]} instead of counts (up to 10,000): each adds 1 to its 5-minute bucket, and every bucket from the first event (or start) up to now is imported, zeros included; leave out events in the current 5 minutes. Add past_events for spans you know about (kind: real | expected_change, direction: spike | drop | no_data), and tz for the watch's timezone. The answer is 202 with an import_id; poll GET /v1/imports/{import_id} until status: done. Each watch then shows the rules chosen for it and the alerts they would have raised in the replayed days: what this service would have told you.
For agents: this page as Markdown.