What counts as delivered
Base44 treats a delivery as successful when your receiver answers with any 2xx status within 15 seconds. Everything else is retried:- Any other status, including 3xx, 4xx and 5xx.
- A timeout or a network error.
Retry schedule
Base44 makes up to 8 attempts per event, over about 27.5 hours. Each delay counts from the previous attempt.
After the 8th failed attempt, Base44 stops trying that event. Base44 keeps an event’s content for 7 days, so an event that’s been retried for longer than that can’t be sent again.
Handling duplicates
Delivery is at least once. If your receiver processes an event but its answer doesn’t reach Base44, for example because of a timeout, the event is sent again. Use the event’sid, also sent as the webhook-id header, to ignore an event you’ve already processed. It stays the same across every retry of that event. Store each id you’ve handled, and skip one you’ve seen before.
Order of events
Events can arrive out of order. A retry of an earlier event can arrive after a later one, so anapp.published.v1 can reach you after an app.unpublished.v1 for the same app.
To keep an accurate copy of each app, compare the timestamp in data with the last one you stored for that app, and ignore an older event.
Endpoint health and auto-pause
Each endpoint shows how its recent deliveries went. An event counts as a failed delivery only after all 8 attempts fail.
A successful delivery resets both counts.
To start an auto-paused endpoint again, fix your receiver and resume the endpoint. Resuming runs the activation test first, so your receiver has to echo the challenge again. See Setting up endpoints.