Replay and recovery

Bridge keeps the payload it rendered, so a replay sends what happened, not what the database looks like now.

Bridge keeps the payload it rendered, so a replay hours later sends what happened, not what the database looks like now.

Three moves

Move Endpoint Use it when
Replay one delivery POST /webhook/delivery/{reference}/replay One event didn’t land, or your consumer crashed after acknowledging. Replaying a SUCCEEDED delivery is allowed.
Replay one event to every endpoint that received it POST /webhook/event/{reference}/replay The fault was on our side.
Read the payload back GET /webhook/event/{reference} You want the bytes without another delivery.

A replay creates a new delivery and never changes the original, so the record of what was attempted and what your server said can’t be edited. Replays are signed with your current secrets.

Reconciling a gap

  1. GET /webhook/delivery?status=DEAD lists everything that ran out of attempts.
  2. Fix the receiver, and confirm with POST /webhook/endpoint/{reference}/test.
  3. Replay the dead deliveries, oldest first.
  4. If your side has a gap that Bridge shows as SUCCEEDED, the loss happened after acknowledgement: GET /webhook/event/{reference} gives you the payload.