For developers

Webhooks for delivery status: design for retries and duplicates

A webhook pushes each status change to your system as it happens. It is simple to start and easy to get subtly wrong, because the same event can arrive twice or in the wrong order.

November 9, 2026 · 6 min read · Updated November 9, 2026

FAQ

Quick answers

Can I receive the same event twice?

Yes. Design for it by keying updates on the message ID and the status.

How fast must my endpoint respond?

Quickly. Store the event, return a 2xx and process it afterwards. A slow or failing endpoint triggers retries.

What if my endpoint was down?

Events are retried for a limited time. Use a reconciliation job to look up messages that never reached a final status.