List alert delivery records across every check in the project
Returns delivery records project-wide, newest-id first, keyset-paged — the console's Delivery log tab and any automation that wants to confirm whether a given monitor's alert reached a destination.
A deliveries row is one (incident event, channel) outcome: pending while a delivery attempt is in flight, delivered on success, dead once the per-channel attempt ceiling is reached, or suppressed when it was deliberately not sent: the channel's rate cap dropped it, or it is a blocked alert whose run was answered within the hold (reason in last_error). incident_id correlates the row to GET /api/v1/incidents/{id} by matching (check_id, incident_opened_at) — it is null once the parent incident has aged out of the 1-year incidents retention window (see /privacy), or for an event type with no incident to correlate with (e.g. every-run). channel_name/channel_kind are null when the destination channel has since been deleted; the delivery record itself is not affected by a channel's deletion.
Pagination is keyset, on id descending. next_cursor is an opaque token; pass it back as cursor verbatim to fetch the next page, and stop when next_cursor is null. A cursor this API did not issue (or one that has been altered) is rejected with 400 INVALID_CURSOR.
?since= bounds incident_opened_at and defaults to the last 30 days; it is clamped to 365 days back regardless of what is asked for, because deliveries are pruned at 365 days (paired with the incidents retention window — see /privacy) and an earlier bound finds nothing further anyway.
Console stability note. This response is shaped by a console screen: the fields are the ones that screen draws, in the grouping it draws them in. It stays published because reading it is a reasonable thing to automate, and no field will be removed or change meaning without a version. Fields may be ADDED as the screen grows, so treat unknown keys as normal rather than as an error.
Request
- Base URL: https://app.lastping.dev
- URL: https://app.lastping.dev/api/v1/deliveries
- Auth: API key in header X-Api-Key
Query parameters
Restrict to one check's deliveries.
Restrict to one delivery status.
RFC 3339 timestamp. Defaults to 30 days ago; clamped to 365 days ago, and to the present if a future instant is sent.
Maximum number of deliveries to return (default 20, max 100).
Opaque next_cursor value from a previous page.
Response
A page of deliveries (may be empty), newest-id first.
Example response
{
"deliveries": [
{
"id": 91234,
"check_id": "550e8400-e29b-41d4-a716-446655440000",
"check_name": "Nightly backup",
"incident_opened_at": "2026-07-10T03:10:00Z",
"incident_id": 4821,
"event_type": "fail",
"channel_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"channel_name": "ops-pagerduty",
"channel_kind": "webhook",
"status": "delivered",
"attempts": 1,
"delivered_at": "2026-07-10T03:10:02Z",
"last_error": "dial tcp: connection refused"
}
],
"next_cursor": "OTEyMzQ"
}Changes
No recorded changes to this operation across all 2 revisions of this API.