Skip to main content
GET
Get a delivery
Every delivery to an endpoint is numbered, and this returns exactly what one of them carried: the same { id, name, created_at, data } delivery body it was sent, from the one stored copy every retry of that delivery already reused. That body arrives inside the { data, error } envelope every /v1 read answers with, so the event’s records are at data.data — the outer key is the envelope, the inner one is the delivery body’s own data. A delivery we POST to you is never enveloped, so unwrap one level and a replayed delivery is byte-identical to a live one. Use it to fill a gap. Sequence numbers are per-endpoint, monotonic and gapless, so a jump from 127 to 129 in what you received means 128 exists and can be fetched — see Sequence and replay for the worked example. The sequence comes back on the response’s own X-Webhook-Sequence header, never in the body, matching the original delivery. 404 is deliberately the same whether the endpoint doesn’t exist, belongs to someone else, the sequence was never allocated, or the delivery has aged out of the 30-day retention window — the response can’t be used to learn which endpoint ids are real. For what the payloads contain, see Events. For verifying that a delivery came from us, see Security.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

endpointId
string
required
sequence
integer
required
Required range: x > 0

Response

The payload that was delivered

data
object
required
error
object | null
required