Skip to content

list_telemetry_alert_rules

GET
/alert-rules/v2
curl --request GET \
--url https://api.siteqwality.com/alert-rules/v2 \
--header 'Authorization: Bearer <token>'

OK

Media type application/json
Array<object>
object
id
required
string format: uuid
kind
required
string
name
required
string
revision
required
integer format: int64
enabled
required
boolean
held
required
boolean
can_mutate
required
boolean
muted_until
string | null
evaluated_through
string | null
next_eval_at
required
string
evaluation_status
required
string
definition
One of:
One of:
object
definition
required
object
settings
required
object
name
required
string
enabled
boolean
service_id
string | null format: uuid
tags
Array<string>
severity
required
string
urgency_override
string | null
routing
object
firing
Array<string>
resolved

Not used: a resolve goes to every channel told the episode fired.

Array<string>
warning
Array<string>
no_data
Array<string>
error
Array<string>
runbook_url
string | null
notification_timing
object
renotify_seconds

Zero disables reminders. Timers use evaluated input time, never retries.

integer format: int32
cooldown_seconds
integer format: int32
query
required
One of:
object
query
required

A log, span or trace query: the explorer URL, a saved view, a widget, an alert rule and an MCP call all carry this. text and filters are AND-combined.

object
v
required
integer format: int32
signal
required

The signal of an [EventQuery].

string
Allowed values: logs spans traces
text

The text grammar (6.5.2).

string
filters

The f grammar (6.5.1), parsed for the signal’s scope.

Array<string>
range
required

A window of T2 tokens (now, now-2h) or instants (ISO 8601, epoch milliseconds), resolved when the query is compiled, so a stored view stays rolling.

object
from
required
string
to
required
string
tz
string | null
analytics
One of:

Group-by analytics over an [EventQuery]: a time series or a top list.

object
group_by

Up to three fields, in the f field syntax (service, @http.route).

Array<string>
measure
object
op
required
string
Allowed values: count sum avg min max p50 p75 p90 p95 p99
field

A numeric field (duration, @db.rows); none for count.

string | null
interval

A T2 bucket interval or auto; absent means auto.

string | null
limit

Groups returned, 1 to 100; absent means 10.

integer | null format: int32
display
string
Allowed values: timeseries toplist
type
required
string
Allowed values: event
comparison
One of:
One of:
object
offset_seconds
required
integer format: int32
type
required
string
Allowed values: difference
window_seconds
required
integer format: int32
interval_seconds
required
integer format: int32
threshold
required
object
direction
required
string
Allowed values: above below
critical
required
number format: double
warning
number | null format: double
recovery
number | null format: double
for_seconds
required
integer format: int32
keep_firing_seconds
required
integer format: int32
no_data_seconds
required
integer format: int32
missing_data
required
string
Allowed values: keep no_data alert ok
late_data_seconds
required

Recompute this bounded recent interval; older late data never reissues a notification.

integer format: int32
max_instances
integer format: int32
kind
required
string
Allowed values: threshold
instances
required
Array<object>
object
group_key
required
string
groups
required
Array<string | null>
state
required
string
value
number | null format: double
evaluated_at
string | null
incident_id

Acknowledgment and resolution use the existing /incident/{id} actions.

string | null format: uuid
muted_until
string | null
dispatch
required
string
Example
[
{
"definition": {
"definition": {
"query": {
"query": {
"signal": "logs",
"analytics": {
"measure": {
"op": "count"
},
"display": "timeseries"
}
},
"type": "event"
},
"comparison": {
"type": "difference"
},
"threshold": {
"direction": "above",
"missing_data": "keep"
}
},
"kind": "threshold"
}
}
]