OpenPoly logo
Operator Api

Webhook deliveries

Inspect and replay 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:read for list
  • webhooks:write for replay

Query params

Each list filter is optional. Multiple payload filters combine with AND.

ParameterTypeRequirementValues/default
statusstringOptionalpending, sent, failed, or dead_letter.
event_typestringOptionalExact event type.
created_fromdatetimeOptionalInclusive delivery creation-time lower bound.
created_todatetimeOptionalInclusive delivery creation-time upper bound.
order_idpositive integerOptionalExact callback payload order ID.
trade_idpositive integerOptionalExact callback payload trade ID.
market_idpositive integerOptionalExact callback payload market ID.
external_user_idstringOptionalExact callback payload external user ID.
sortstringOptionalcreated_at_desc (default) or next_retry_at_asc.
pagepositive integerOptionalDefault 1.
page_sizepositive integerOptionalDefault 50, maximum 100.

Status values:

  • pending
  • sent
  • failed
  • dead_letter

Response highlights

  • delivery attempt_count
  • last_status_code
  • last_response_body_sample
  • next_retry_at
  • delivered_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.

Copyright © 2026