2xx webhook response as successful.
A timeout, network error, or non-2xx response is a failed attempt and can be retried with exponential backoff until the service retry budget is exhausted.
Delivery evidence
The endpoint delivery list shows event type, delivery status, attempt count, last HTTP status, last error, and next-attempt time when one is scheduled. Signal stores at most 4 KiB of the receiver response body as a diagnostic snippet. Webhook delivery statuses arepending, processing, success, failed, and cancelled.
Receiver response contract
Return
2xx only after the verified event is durably accepted.
Do not keep the HTTP request open while slow business processing completes.
Deduplication
Automatic retries and manual replays can deliver the same logical event more than once. Use the stable event or delivery identifier as a durable uniqueness key.Manual replay
POST /v1/projects/{projectId}/webhooks/{endpointId}/replay/{deliveryId} resends the original payload to that endpoint.
Use it after correcting a transient outage, parser defect, or downstream dependency.
Before replay:
- Deploy support for the event type.
- Confirm the endpoint secret matches the receiver.
- Confirm duplicate handling is durable.
- Replay one delivery.
- Inspect the new attempt and downstream state.
- Expand only after the single replay is safe.