exo[intel]docs
Open the app

Alert rules

Rules that watch for something and fire when it happens. On paid plans.

Read this page before relying on them. Alert rules are real and evaluated, but the delivery side is not finished: there is no panel for them yet, and no per-rule destination you can point at yourself. What follows describes exactly what works today.

#What a rule is

A named condition on one of five kinds of event:

TypeFires whenCondition
cve_severitya CVE lookup returns a score at or above your floor{ "cvss_min": 7.5 }
news_riska news item is scored at or above your floor{ "risk_min": 6 }
sanctions_matcha sanctions search returns any match{}, or { "schema": "Person" }
entity_alerta specific entity is touched{ "entity_id": "…" }
space_eventa solar flare, geomagnetic storm or asteroid approach{ "event_type": "flare" }

One honest caveat inside the table itself: nothing in the product currently emits an entity_alert event, so a rule of that type validates and stores but will never fire. The other four types do receive events.

Rules are evaluated as events arrive — a CVE or sanctions lookup, a news item ingested, a space event detected. Storage and management are per-account: only you can see or edit your rules. Evaluation is not: a cve_severity or sanctions_match rule is checked against matching lookups from any account, not only your own, because those events carry no account today.

#Managing them

Over HTTP, using your signed-in browser session. There is no UI yet.

GET    /api/alert-rules            list your rules
POST   /api/alert-rules            create one
PATCH  /api/alert-rules?id=<uuid>  enable or disable it
DELETE /api/alert-rules?id=<uuid>  remove it

PATCH takes { "enabled": true | false } and nothing else — a rule's condition is not editable in place. To change one, delete it and create it again.

Creating one:

{
  "name": "Critical CVEs",
  "type": "cve_severity",
  "condition": { "cvss_min": 9.0 },
  "channels": ["webhook"],
  "enabled": true
}

Reading your own rules needs nothing but a session. Creating, editing and deleting need a paid plan.

#Delivery — the honest state of it

webhook is the only channel that exists. Email and Telegram delivery are not implemented; a rule cannot name them.

The webhook posts to an endpoint configured on the server, not to a URL you supply — there is no per-rule destination in the data model. On exointel.watch that endpoint is currently unset, which means a matching rule today notifies nobody. The rule still stores, still shows as enabled, and still evaluates.

If alerting matters to your work, tell support what you need it to reach and you will get a straight answer about where it stands.

exo[intel] — support@exointel.watch