Skip to content

Delivery and retries

What counts as delivered, how long the wait is between attempts, what happens if your endpoint goes down and when a notification is given up.

4 min read

What counts as delivered

  • Only a 2xx response. Anything else is a failure and is retried: a 3xx, a 4xx, a 5xx or no response at all.
  • Redirects are not followed. Register the final URL.
  • Timeouts: 5 s to connect and 15 s in total per attempt.
  • Your response body does not matter. At most 64 KB are read and only the status code counts.

How long between attempts

After each failure, the wait starts at 5 s and doubles, plus a random variation of up to half, so that thousands of notifications do not all come back at the same instant. Once it reaches the 5-minute cap, the wait stays between 4 and 5 minutes. There is no attempt limit.

When it is given up

A notification that is not delivered within 72 hours of being created stops being retried and will not arrive again. This is the only thing that ends a notification without delivery: the number of failed attempts does not matter.

If your endpoint goes down

  • After 3 failures in a row, your endpoint is considered down and gets a single attempt every 5 minutes, no matter how many notifications are pending. This avoids flooding it while it recovers.
  • As soon as it responds 2xx, it leaves the down state and pending notifications flow again at the normal pace.
  • It is never disabled automatically. But whatever is not delivered within 72 hours is lost, so keep an eye on your endpoint.

Addresses that are not accepted

For security, notifications only go to public addresses. A URL with localhost, a name ending in .internal or .local, or a private or reserved IP is not registered; and if after registration it points to one of them, the notification is not sent.

Order, duplicates and resends

  • Order is not guaranteed: up to 8 notifications are delivered at once and retries mix with new ones. If order matters to you, sort by receivedAt inside data.
  • There can be duplicates: if your 2xx does not arrive in time, the same notification comes back with the same X-Hablame-Delivery-Id.
  • There is no manual resend: today there is no way to ask for an already delivered notification to be sent again.

Current values

These are the values the delivery service works with today.

Need help?

Was this page helpful?

See all support channels

Your cookie preferences

You decide what we measure. You can change your choice at any time. Rejecting takes no feature away from the documentation.

Privacy policy