Replay and the dead letter queue

Resend a single event, a filtered range, or everything that failed, using the original bytes.

Core Updated 4 September 2026

These pages describe ShellOrbit as it runs today. Breaking changes to the HTTP API are announced before they ship, and existing request and response shapes stay supported.

What is replay?

Replay sends a stored event to your destination again, byte for byte. The body, the provider’s headers, and the signature are exactly what arrived the first time. Only the ShellOrbit delivery headers differ, because the attempt number and timestamp change.

When would I replay?

  • Your handler had a bug and rejected valid events.
  • Your service was down longer than the retry window.
  • You shipped a fix and want the failed hour back.
  • You are moving to a new destination and want recent history sent there.

How do I replay one event?

Open the event and replay it. The new attempt appears in the same event’s attempt trail, so the history stays in one place.

How do I replay many?

Filter the event log by endpoint, status, event type, or time range, then replay the result set. A bulk replay is rate limited to protect your destination, and you set the pace when you start it.

curl -X POST https://api.shellorbit.com/v1/replays \
  -H "authorization: Bearer $SHELLORBIT_API_KEY" \
  -H 'content-type: application/json' \
  -d '{
    "endpoint_id": "ep_7f3a91",
    "filter": { "status": "failed", "since": "2026-09-03T09:00:00Z" },
    "rate_per_second": 20
  }'

What is the dead letter queue?

Events whose delivery attempts are exhausted. They are not deleted and not hidden. The dead letter queue is a filter over the event log, so the same inspection and replay tools apply.

Events leave it when you replay them successfully, when you delete them, or when they age out of your plan’s retention window.

Does replay count against my event volume?

No. Volume is measured by events received. A replay is another delivery attempt on an event you already paid for.

What if the destination is still broken?

The replayed event follows the endpoint’s retry policy again and returns to the dead letter queue if every attempt fails. Nothing accumulates silently, because repeated failure raises the same alert as the first time.