Skip to main content

Alert instances

Each time an alert matches, an instance is raised. Its user-facing lifecycle is tracked separately from the immutable raised record: An instance records what was matched — for example:
  • alert_value — the matched value.
  • trigger_type — see trigger types.
  • approach_percentage — how close to the threshold (for THRESHOLD_APPROACHING).
  • perimeter_results — the matched entities, by perimeter level. The key casing reflects the stored shape as-is (e.g. shop_ids alongside brandIds).

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.
Because a run both creates and resolves, the active instance list stays in sync — an issue that clears is resolved automatically on the next run.
Runs share the same observable shape (status, trigger type, structured logs, stats) as ingestion and tag evaluation runs.