Get webhook delivery
Read one delivery with the event’s exact JSON and every attempt.
/webhooks/{webhook}/deliveries/{event}PermissionCluster key, or a scoped key with read on a namespace or collection that the webhook covers. Key scopes and actions.
- Match a POST that your receiver logged by its batch_id (the webhook-id header) and sent_at.
- Returns 404 when the webhook never queued the event, the event is older than 30 days, or the key cannot see it.
Path parameters
Responses
200Success
A delivery whose first POST got 503 and whose retry got 204.
application/json
Response headers
The Engine request ID. Retain it when investigating a failed or unexpected request.
The X-Request-Id you sent, echoed when it is a valid ID. Otherwise, the Engine request ID.
POSTs of the event’s batch since the event was last queued. A replay starts the count again.
Every POST of every batch that held the event in the last 30 days, oldest first, replays included.
The event’s exact JSON inside its batch.
Collection name that the event names, or null.
The event’s evt_ ID. It is the same at every webhook and in every retry or replay.
The event’s type, such as file.status_changed.
The last POST of the newest batch that held the event. Null before the first POST.
Namespace name that the event names, or null.
When the next POST of a retrying batch goes. Otherwise null.
Time of the status change, as an ISO 8601 UTC timestamp.
When the event was queued for this webhook, or queued again by a replay.
pending (queued, or waiting for a retry), succeeded, or failed (a 3xx or 4xx answer, or the webhook turned off while the event waited).
- pending
- Queued, or waiting for a retry.
- succeeded
- The receiver answered 2xx to a batch that held the event.
- failed
- Engine will not send the event again unless you replay it.
Errors
Select an error in the response example to see its JSON body. See error handling for the common error format.
- 400invalid_request
A field, path, parameter, or conditional request rule is invalid.
What to do: Correct the request. Unknown fields are rejected.
- 401unauthenticated
The API key is missing, invalid, or revoked.
What to do: Send an active key in Authorization: Bearer or X-API-Key.
- 403forbidden
The key can see the resource but lacks permission for this operation.
What to do: Use a key with the required action or scope kind.
- 404not_found
The resource is absent, deleted, or outside this key’s scope.
What to do: Check the identifier and the key’s namespace and collection scope.
- 500internal_error
An unexpected server failure prevented this request from completing.
What to do: Retain request_id for investigation. Follow retryable before retrying a write.