Skip to content

The account's delivery history, newest first.

GET
/notification/history
curl --request GET \
--url https://api.siteqwality.com/notification/history \
--header 'Authorization: Bearer <token>'
cursor
string

next_cursor from the previous page.

limit
integer format: int64

1 to 100, default 50.

channel
string

Only this channel kind, such as email or sms.

status
string

Only this status, such as failed or skipped.

monitor_id
string format: uuid

Only this monitor.

notification_id
string format: uuid

Only this notification channel.

since
string

RFC 3339; at most 90 days back, the default.

until
string

RFC 3339; now by default.

include_tests
boolean

Include test sends from the dashboard (default false).

One page of delivery receipts

Media type application/json

One page of the history.

object
data
required
Array<object>

One delivery attempt’s receipt.

object
id
required
string format: uuid
at
required
string format: date-time
status
required

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

string
reason

The provider’s reason for a non-success status, URLs cut to hosts; a slug for skipped.

string | null
channel

Email | sms | slack | webhook | …

string | null
notification_id

The notification channel it went to; null for an owner fallback email or a deleted channel.

string | null format: uuid
destination

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

string | null
source_kind

What produced it, such as http_transition; null on older rows.

string | null
event_kind

What happened, such as down; null on older rows.

string | null
why

The older slug for why it was sent, such as monitor_down.

string | null
monitor_id

The monitor it was about, and which table: http | cron | browser | page_speed | tls | dns.

string | null format: uuid
monitor_type
string | null
monitor_name

The monitor’s name, when it still exists and has one.

string | null
state_transition_id

The outage (state transition) it announced.

string | null format: uuid
occurrence

Which send of the event this was: 0 the first, 3 the third repeat, 0:fallback an SMS fallback email. null on receipts written before the outbox.

string | null
repeat

The repeat number (“resend every”), null for a first send.

integer | null format: int32
fallback
required

An email sent to a Super Admin because the SMS was blocked.

boolean
is_test
required

A test send from the dashboard.

boolean
next_cursor

Pass back as cursor for the next page; null on the last.

string | null
Example generated
{
"data": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"at": "2026-04-15T12:00:00Z",
"status": "example",
"reason": "example",
"channel": "example",
"notification_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"destination": "example",
"source_kind": "example",
"event_kind": "example",
"why": "example",
"monitor_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"monitor_type": "example",
"monitor_name": "example",
"state_transition_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"occurrence": "example",
"repeat": 1,
"fallback": true,
"is_test": true
}
],
"next_cursor": "example"
}

A bad cursor, limit, time range or filter

Missing or invalid authentication

Internal server error