Get Metric Alert Rule
Returns one rule by UUID. Scoped to the calling user — the rule must belong to the caller or the response is 404.
Path parameters
uuid string (uuid) Req
Alert rule UUID. Returned by Create + List.
Response (200 OK)
uuid string (uuid)
Stable identifier for this rule.
name, description string
User-supplied label + optional context.
metric, operator, threshold enum / string / number
The comparison. See Create for the metric and operator vocabularies.
window_seconds, cooldown_seconds int
Aggregation window and minimum gap between notifications.
endpoint_id int64 (nullable)
Internal endpoint ID this rule is scoped to, or null for account-wide. Resolve back to UUID via /endpoints if needed.
enabled boolean
When false the evaluator skips this rule.
notify_channels array<Channel>
Configured delivery targets —
email, webhook, slack, or discord. The webhook secret is write-only and is omitted from responses.status enum
Current evaluator state. One of:
unknown— rule was just created; the evaluator has not run a cycle on it yet.ok— last evaluation found the metric within the threshold.firing— last evaluation found the metric crossed the threshold; notifications were dispatched on the transition into this state.
test is a status that may appear on event rows (Test button dispatches), but it never appears on the rule itself.
last_value number (nullable)
Most recent observed value. Null before the first evaluator cycle.
last_evaluated_at, last_triggered_at timestamp (nullable)
RFC 3339 timestamps.
last_triggered_at is the most recent ok→firing transition.created_at, updated_at timestamp
RFC 3339.
Errors
401 Unauthorized
Missing auth.
404 Not Found
No rule with that UUID owned by the caller.
Request
curl "https://api.ngris.com/v1/traffic/alerts/<uuid>" \
-H "X-API-KEY: <your_api_key>"
Response — 200 OK
{
"uuid": "0d3e9f8a-2b5c-4a7d-9f1a-1a2b3c4d5e6f",
"name": "5xx spike on api",
"metric": "error_rate_pct",
"operator": ">",
"threshold": 1.0,
"window_seconds": 300,
"endpoint_id": 99,
"cooldown_seconds": 600,
"enabled": true,
"status": "firing",
"last_value": 1.7,
"last_evaluated_at": "2026-05-21T12:34:56Z",
"last_triggered_at": "2026-05-21T12:30:01Z",
"notify_channels": [
{"type": "email", "target": "ops@acme.dev"}
],
"created_at": "2026-05-20T09:00:00Z",
"updated_at": "2026-05-21T12:30:01Z"
}