Mautic webhooks are fire and forget. So, if your webhook receiver is down for whatever reason, and some webhook is fired, it won’t be resubmitted, even if it receives a 502.
Being sure that a service is ALWAYS ON, 100% of the time, is unlikely, or at least requests a very complex design (different regions, different dbs, and so on).
Trying to find a solution I came into the Event_log table that contains the history of every contact, be it actions, or data updates, segment changes, and so on.
If there was an endpoint that could expose all the events, not by single contact but globally, maybe filtering say for object and date_added, most modifications that are usually captured via webhook could be retrieved with a pull request, making everything much more reliable.