Returns paginated resolved alert history scoped to the caller's hierarchy
(no organization_id), a single tenant (organization_id=X), or a sub-tree
(organization_id=X&include=descendants). Mirrors the scope rules of
/alerts/totals and /alerts/trend.
Supports date range (from_date/to_date, RFC3339) and multi-value label
filters (system_key, alertname, severity, status). All multi-value
filters: OR within the same filter, AND across filters.
Customer callers are always pinned to their own organization regardless of params.
Query parameters
-
Target organization ID(s). Repeat the param to pass multiple values. Optional for all roles except Customer (where it is ignored).
-
Set to
descendantstogether withorganization_idto expand each value to its sub-tree.Value is
descendants. -
Page number
Minimum value is
1. Default value is1. -
Items per page
Minimum value is
1, maximum value is200. Default value is20. -
Values are
id,alertname,severity,status,starts_at,ends_at, orcreated_at. Default value iscreated_at. -
Sort direction. Unlike the shared default of
asc, this endpoint defaults todescso the natural "most recent first" ordering is applied when the caller omits the param.Values are
ascordesc. Default value isdesc. -
Lower bound on
created_at(inclusive). RFC3339 timestamp. -
Upper bound on
created_at(exclusive). RFC3339 timestamp. Must be afterfrom_date. -
Filter by one or more system keys. Repeat the param to pass multiple values; results are matched as
system_key IN (...). -
Filter by alertname. Supports multiple values.
-
Filter by severity. Supports multiple values.
Values are
critical,warning, orinfo. -
Filter by status. Supports multiple values.
curl \
--request GET 'https://collect.your-domain.com/api/alerts/history' \
--header "Authorization: Bearer $ACCESS_TOKEN"
{
"code": 200,
"message": "alert history retrieved successfully",
"data": {
"alerts": [
{
"id": 55,
"organization_id": "m4m3mdjdiizs",
"system_key": "NETH-D417-A2C2-7810-43D2-984B-2164-34C1-B22E",
"alertname": "PlainBodyTest",
"severity": "critical",
"status": "resolved",
"fingerprint": "11a9302b0fa6526e",
"starts_at": "2026-05-12T07:46:50Z",
"ends_at": "2026-05-12T07:51:50Z",
"summary": "plain body check",
"labels": {
"alertname": "PlainBodyTest",
"severity": "critical",
"system_key": "NETH-D417-A2C2-7810-43D2-984B-2164-34C1-B22E"
},
"annotations": {
"summary": "plain body check",
"description": "checking html:'' fix"
},
"receiver": "severity-critical-receiver",
"created_at": "2026-05-12T07:52:00Z"
},
{
"id": 54,
"organization_id": "m4m3mdjdiizs",
"system_key": "NETH-D417-A2C2-7810-43D2-984B-2164-34C1-B22E",
"alertname": "HistFlowTest",
"severity": "critical",
"status": "resolved",
"fingerprint": "9c1a23e87f4d0a11",
"starts_at": "2026-05-12T08:01:07Z",
"ends_at": "2026-05-12T08:06:06Z",
"summary": "history flow check",
"labels": {
"alertname": "HistFlowTest",
"severity": "critical",
"system_key": "NETH-D417-A2C2-7810-43D2-984B-2164-34C1-B22E"
},
"annotations": {
"summary": "history flow check",
"description": "resolved"
},
"receiver": "severity-critical-receiver",
"created_at": "2026-05-12T08:11:30Z"
}
],
"pagination": {
"page": 1,
"page_size": 50,
"total_count": 2,
"total_pages": 1,
"has_next": false,
"has_prev": false
}
}
}
{
"code": 200,
"message": "alert history retrieved successfully",
"data": {
"alerts": [],
"pagination": {
"page": 1,
"page_size": 50,
"total_count": 0,
"total_pages": 0,
"has_next": false,
"has_prev": false
}
}
}
{
"code": 400,
"message": "validation failed",
"data": {
"type": "validation_error",
"errors": [
{
"key": "username",
"message": "required",
"value": "string"
}
]
}
}
{
"code": 401,
"message": "invalid token",
"data": {}
}
{
"code": 403,
"message": "insufficient permissions",
"data": {}
}