Alert instances
Each time an alert matches, an instance is raised. Its user-facing lifecycle is tracked separately from the immutable raised record:| Status | Meaning |
|---|---|
pending | Newly raised; no action yet. |
acknowledged | A user has seen it (records who/when). |
resolved | Handled (records who/when + an optional comment). |
archived | Hidden from the active list. |
alert_value— the matched value.trigger_type— see trigger types.approach_percentage— how close to the threshold (forTHRESHOLD_APPROACHING).perimeter_results— the matched entities, by perimeter level. The key casing reflects the stored shape as-is (e.g.shop_idsalongsidebrandIds).
Evaluation runs
Alerts are evaluated by an alert evaluation run — manual, scheduled, or via API. A run evaluates active alerts (or a specified subset), creates instances for new matches, and resolves instances that no longer match.| Field | Meaning |
|---|---|
status | PENDING → RUNNING → SUCCESS / FAILED. |
triggerType | MANUAL, SCHEDULED, or API. |
alertIds | Specific alerts to evaluate (null = all active). |
stats | { alertsEvaluated, instancesCreated, instancesResolved, durationMs }. |
logs | Structured entries (DEBUG/INFO/WARN/ERROR), capped at 5000 per run. |
Runs share the same observable shape (status, trigger type, structured logs, stats) as
ingestion and
tag evaluation runs.

