Skip to Content
WebhooksRetries & replay

Retries & replay

What counts as a success

A delivery succeeds when your endpoint answers with a 2xx status within 10 seconds. Redirects are not followed. Any other status, a timeout, a TLS error or a refused connection is a failure.

Automatic retries

A failed delivery is retried 5 times, with an exponential backoff:

AttemptDelay after the previous one
1st retry1 minute
2nd retry5 minutes
3rd retry30 minutes
4th retry2 hours
5th retry12 hours

After the last retry the delivery is marked failed. The event itself is kept for 30 days: you can still replay it or read it from the Events API.

Because of retries, the same event may reach you more than once, and events may arrive out of order. Deduplicate on the event id and, when order matters, compare created or fetch the latest state of the object.

Automatic disabling

An endpoint whose deliveries have all been failing for 3 days is disabled automatically. The workspace owners receive an e-mail and a notification. Fix the endpoint, then re-enable it from its page: new events flow again, and you can replay the ones you missed.

Inspecting deliveries

Each endpoint’s page in Settings → Developers → Webhooks lists its recent deliveries, with for each attempt:

  • the event and its type;
  • the HTTP status your endpoint returned and its response time;
  • the exact request headers and body Skoup sent;
  • the response body your endpoint returned (first 8 KB).

Replaying an event

From a delivery or from Settings → Developers → Events, click Resend to deliver an event again to an endpoint. The resend is a new delivery with the same event ID, so your deduplication keeps working.

Sending a test event

From an endpoint’s page, Send test event delivers a sample of any event type, with "livemode": false. It is the fastest way to check your signature verification and your parsing before real events arrive.

Last updated on