Get a single alert delivery
Returns one delivery with its embedded matches (paginated — see matches_cursor). The URL is keyed only by the delivery ID — the parent alert ID is intentionally omitted so a landing-page link can be shared publicly without leaking the alert identifier. Works for all cadences — immediate, daily, weekly digests. URL possession is the access factor; the endpoint is reachable without auth (the IDs are unguessable). Authenticated members of the delivery’s owning organization receive the high-resolution payload (transcript Windows when view=detailed, mention variants, salience, delivery audit). For a member-viewed WEBHOOK delivery, has_webhook_payload is true and the exact POSTed JSON is available from GET /v1/alerts/deliveries//webhook-payload (not embedded here — it can be many MB). Unauthenticated and non-member callers receive a reduced public payload — alert title and kind, match entity and episode metadata, no internal fields.
Path Parameters
Delivery ID
Query Parameters
Hydration depth for the embedded matches. Both views include Episode metadata (episode title, podcast title, image) so the FE can render a card per match. 'summary' (default) omits transcript Windows; 'detailed' includes them — pick 'detailed' when rendering a full landing page where each match expands to the spoken excerpt, 'summary' for a list view.
summary, detailed Max embedded matches to return in this response (default and max 100). The delivery's true total is always match_count; use matches_cursor to page through the rest.
1 <= x <= 100Opaque cursor from a previous response's matches_cursor, to fetch the next page of embedded matches.
Response
OK
ID of the parent alert.
Whether this delivery has a reconstructable webhook payload (member-viewed WEBHOOK deliveries only). When true, fetch the exact POSTed JSON from GET /v1/alerts/deliveries/{id}/webhook-payload — it is not embedded here because it can be many MB.
Whether more matches exist beyond this page. The true total is match_count.
Deprecated — use alert_id. ID of the parent alert.
Delivery outcome — SENT (delivered; a partial success keeps this status with the failure noted in error_message), FAILED (an attempt failed; realtime retries within its budget and digests re-select within their window), SKIPPED (intentionally not delivered), or ABANDONED (realtime webhook delivery permanently gave up after exhausting its retry budget, so the match was dropped for that channel).
Whether the caller is a member of the owning org (or an API key scoped to the owning project) and can manage this alert in-app. True responses carry the member-only fields; false responses are the public projection with those fields stripped. Clients must read this rather than inferring access from field presence.
Lightweight reference to the parent alert. Lets the FE render a delivery landing page without a second GET /v1/alerts/{id} call.
Opaque cursor; pass as ?matches_cursor= to fetch the next page of matches. Absent when there are no more.
Deprecated — use alert. Lightweight reference to the parent alert.