The account's delivery history, newest first.
const url = 'https://api.siteqwality.com/notification/history';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.siteqwality.com/notification/history \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”next_cursor from the previous page.
1 to 100, default 50.
Only this channel kind, such as email or sms.
Only this status, such as failed or skipped.
Only this monitor.
Only this notification channel.
RFC 3339; at most 90 days back, the default.
RFC 3339; now by default.
Include test sends from the dashboard (default false).
Responses
Section titled “ Responses ”One page of delivery receipts
One page of the history.
object
One delivery attempt’s receipt.
object
Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped
The provider’s reason for a non-success status, URLs cut to hosts; a slug for skipped.
Email | sms | slack | webhook | …
The notification channel it went to; null for an owner fallback email or a deleted channel.
Masked: o***@example.com, ***0100, a Slack channel, a webhook host.
What produced it, such as http_transition; null on older rows.
What happened, such as down; null on older rows.
The older slug for why it was sent, such as monitor_down.
The monitor it was about, and which table: http | cron | browser | page_speed | tls | dns.
The monitor’s name, when it still exists and has one.
The outage (state transition) it announced.
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.
The repeat number (“resend every”), null for a first send.
An email sent to a Super Admin because the SMS was blocked.
A test send from the dashboard.
Pass back as cursor for the next page; null on the last.
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