Skip to content

List alert delivery history

GET
/api/v1/alert-rules/deliveries
curl --request GET \
--url http://localhost:3000/api/v1/alert-rules/deliveries \
--header 'X-API-Key: <X-API-Key>'

Alert occurrences with their fired/resolved timestamps and delivery outcome, newest first. Optionally filtered by rule or device.

ruleId
string format: uuid
deviceId
string format: uuid
limit
string

Default 50, maximum 200

offset
string
x-organization-id
string format: uuid

UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string format: uuid
ruleId
required
string format: uuid
ruleName
required
string
deviceId
object
notificationTargetId
required
string format: uuid
notificationTargetName
required
string
channel
required
string
state
required
string
Allowed values: OPEN RESOLVED
firedAt
required
string format: date-time
resolvedAt
object
deliveredAt

When the transport confirmed delivery. Null while pending or failed.

object
error

Transport failure detail after the retry budget was exhausted.

object
suppressedAt

When notification suppression withheld the push for this occurrence (FM-1269). This is the third outcome, distinct from the other two: pending has every timestamp field null; failed has error set; suppressed has this field set instead. deliveredAt and suppressedAt are never both set — a push either went out or it did not.

object
total
required

Total matching records, ignoring limit/offset

number
Example
{
"items": [
{
"ruleName": "CPU above 80% on edge nodes",
"notificationTargetName": "Ops on-call email",
"channel": "EMAIL",
"state": "OPEN"
}
],
"total": 128
}