Publishing your retry schedule, so nobody has to ask

A subscriber to your webhooks needs to know how long they have to fix an outage, and the answer is usually undocumented.

documented, on the same page as the payload schema:

  attempt 1   immediately
  attempt 2   +30 seconds
  attempt 3   +2 minutes
  attempt 4   +10 minutes
  attempt 5   +1 hour
  attempt 6   +6 hours
  attempt 7   +24 hours
  then        the endpoint is disabled and you are emailed

  we consider any 2xx a success and everything else a
  failure. a timeout is 10 seconds.

The total window matters more than the individual intervals — a subscriber planning their own maintenance needs to know they have thirty-one hours rather than thirty minutes. Stating what counts as success is the other half, because a subscriber returning 302 or 204 needs to know whether that is acceptable.