Webhook deliveries
Webhook deliveries
Inspect webhook delivery attempts and outbox state.
Paths
GET /api/operator/webhooks/deliveries
POST /api/operator/webhooks/deliveries/{id}/replay
Required scopes:
webhooks:readfor listwebhooks:writefor replay
Query params
Each list filter is optional. Multiple payload filters combine with AND.
| Parameter | Type | Requirement | Values/default |
|---|---|---|---|
status | string | Optional | pending, sent, failed, or dead_letter. |
event_type | string | Optional | Exact event type. |
created_from | datetime | Optional | Inclusive delivery creation-time lower bound. |
created_to | datetime | Optional | Inclusive delivery creation-time upper bound. |
order_id | positive integer | Optional | Exact callback payload order ID. |
trade_id | positive integer | Optional | Exact callback payload trade ID. |
market_id | positive integer | Optional | Exact callback payload market ID. |
external_user_id | string | Optional | Exact callback payload external user ID. |
sort | string | Optional | created_at_desc (default) or next_retry_at_asc. |
page | positive integer | Optional | Default 1. |
page_size | positive integer | Optional | Default 50, maximum 100. |
Status values:
pendingsentfaileddead_letter
Response highlights
- delivery
attempt_count last_status_codelast_response_body_samplenext_retry_atdelivered_at- nested
endpoint - nested
event.event_id - nested
event.event_type - nested
event.aggregate_type - nested
event.aggregate_id - nested
event.payload_json - nested outbox
status
event.payload_json is the operator-actionable callback data preview. For trade events it is reconstructed from durable order, user, operator, and trade rows when possible, not merely the historical outbox payload.
Payload filters use the same durable Mini App order data that reconstructs trade callback payloads. order_id and trade_id identify one callback event, while market_id and external_user_id can match multiple callback events. Supplying multiple filters requires every condition to match the same order. One event can still have multiple delivery rows when it targets multiple endpoints.
Replay rules
id is a required positive delivery ID path parameter. Replay has no query parameters or request body.
Replay dispatches the same delivery object again and does not create a new business event.
The API scopes both mini_app_webhook_endpoints.operator_id and mini_app_outbox_events.operator_id to the authenticated operator before replay.
Receivers must dedupe by event_id, especially when replaying a delivery that was already sent.
