Skip to content

get_monitor_alert_history

GET
/monitors/{monitor_id}/alert_history
curl --request GET \
--url https://api.siteqwality.com/monitors/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/alert_history \
--header 'Authorization: Bearer <token>'
monitor_id
required
string format: uuid

Monitor identifier

kind
string | null

http (default), cron or browser.

limit
integer | null format: int64

How many outages, newest first. 1..=100, default 25.

Outages and the alerts sent for each

Media type application/json

GET /monitors/{monitor_id}/alert_history.

object
monitor_id
required
string format: uuid
kind
required
string
transitions
required

Newest outage first.

Array<object>

One outage and everything sent about it.

object
id
required
string format: uuid
started_at
required

When the monitor went down (after any confirmation checks).

string format: date-time
ended_at

When it recovered; None while still down.

string | null format: date-time
deliveries
required

Oldest first, so the list reads as the story: went down, told X, delivered, recovered, told X.

Array<object>

One alert we sent (or tried to) for an outage.

object
id
required
string format: uuid
sent_at
required
string format: date-time
notification_id

The channel row this went through, when it still exists.

string | null format: uuid
channel

Email | sms | slack | webhook | telegram | discord | pagerduty | …

string | null
destination

Masked: o***@example.com, ***1234, a Slack channel, a webhook host.

string | null
is_failure

True = the DOWN alert, false = the recovery.

boolean | null
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained

string
status_at
string | null format: date-time
provider_error

What the provider said when it did not accept the alert.

string | null
detail

What the provider reported later (a bounce’s type and diagnostic).

string | null
events
required

Per-recipient SES reports, for email.

Array<object>

SES’s report about one recipient of an alert email.

object
at
required
string format: date-time
event_type
required

Bounce | complaint | delivery_delay | reject | rendering_failure

string
sub_type

E.g. Permanent/General, Transient/MailboxFull.

string | null
permanent
required

True only for a permanent bounce or a complaint. A transient bounce is never a dead address.

boolean
recipient
required

Masked.

string
Example generated
{
"monitor_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"kind": "example",
"transitions": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"started_at": "2026-04-15T12:00:00Z",
"ended_at": "2026-04-15T12:00:00Z",
"deliveries": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"sent_at": "2026-04-15T12:00:00Z",
"notification_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"channel": "example",
"destination": "example",
"is_failure": true,
"status": "example",
"status_at": "2026-04-15T12:00:00Z",
"provider_error": "example",
"detail": "example",
"events": [
{
"at": "2026-04-15T12:00:00Z",
"event_type": "example",
"sub_type": "example",
"permanent": true,
"recipient": "example"
}
]
}
]
}
]
}

Unknown monitor kind

Missing or invalid authentication

Monitor not found

Internal server error