Get one delivery, with the envelope we sent

Returns a single delivery, including the outbound envelope when it was persisted (deliveries created before 2026-05 may not have one), and a best-effort hookdeck block with the individual attempts.

If the attempts cannot be fetched, the response is still 200 and carries hookdeckError instead of failing the request.

Authentication

AuthorizationBearer

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

Path parameters

subscriptionIdstringRequired
Webhook subscription identifier.
deliveryIdstringRequired

Delivery identifier. May contain slashes (e.g. del_qrcode/cash-in:...).

Headers

X-Tenant-IdstringRequired
Tenant context used for authorization and routing.
X-Request-TimestampstringRequired

Unix seconds. Required on the signed host; tolerance is 300s either way (403 request_timestamp_skew).

X-Content-SHA256stringRequired

Lowercase hex SHA-256 of the body. An empty body hashes the empty string, so the header is always present. Mismatch returns 400 body_hash_mismatch.

X-Request-SignaturestringRequired

Detached JWS (<protected>..<signature>, ES256 or PS256) over METHOD\nPATH?QUERY\nTIMESTAMP\nIDEMPOTENCY_KEY_OR_EMPTY\nX_CONTENT_SHA256.

Response

Delivery found.
deliveryIdstring
subscriptionIdstring
eventIdstring
statusstring
attemptsinteger
createdAtdatetime
eventTypestringOptional

Canonical event name. Inferred from eventId for deliveries recorded before it was persisted.

lastErrorstringOptional
Empty string when the delivery never failed.
hookdeckRequestIdstringOptional
Empty string when there is no request recorded at Hookdeck.
dispatchedAtdatetime or nullOptional
envelopemap from strings to anyOptional

The outbound payload we sent. Absent for deliveries recorded before 2026-05.

hookdeckobjectOptional

Best-effort enrichment with the individual attempts.

hookdeckErrorstringOptional

Present instead of (or alongside) hookdeck when the attempts could not be fetched. The request still answers 200.

Errors

400
Bad Request Error
404
Not Found Error
500
Internal Server Error