Debugging / Delivery
Webhook Failures
A failing webhook is almost always the receiver. Check reachability, signature verification, and response time in that order.
In order
Check the receiver
Deliveries go to a public HTTPS URL. A local address, a self-signed certificate, or an endpoint behind a VPN cannot receive them.
curl --request POST https://your-app.example.com/hooks/memorysync \
--header "Content-Type: application/json" \
--data '{"ping":true}'Contract
What a good receiver does
- Responds 2xx fast
- Anything else is treated as a failed delivery and will be retried.
- Verifies before trusting
- Reject unsigned or mis-signed requests rather than acting on them.
- Handles repeats
- Retries mean the same event can arrive more than once. Make handling idempotent by event id.
- Tolerates new fields
- Ignore unknown fields instead of failing, so added fields do not break your receiver.
- Logs identifiers only
- Record the event id and type, not the full payload.
The dashboard shows recent delivery attempts per endpoint. Persistent failures there almost always point at one of the three checks above.
Was this page helpful?