🤖 Teach your AI coding agent how to send email with Postmark Skills
x
Postmark Webhooks now verify themselves (and tell you when something's wrong) | Postmark

Postmark Webhooks now verify themselves (and tell you when something's wrong)

Webhooks are how your systems find out what's happening to your email — bounces, opens, spam complaints, and deliveries, in real time. If a webhook silently stops working, you're flying blind and might not know for hours. So we made webhooks something you can verify, watch, and trust.

A few things are new:

Show details

Verification. When you create or edit a webhook, Postmark now tests your endpoint for every event type you've selected and checks that it responds with a 200. If any event fails verification, you'll see exactly which one and why — and you won't be able to save until it's working (or you've unselected it). If in time, an event type shows a sustained pattern of delivery failures, Postmark marks it unverified and pauses delivery — so a broken event surfaces as a clear status instead of a pile of events quietly going nowhere. Because it's tracked per event type, a problem with one (say, Bounce) doesn't pause the others. You can re-verify any time from the webhook's page or with the new verification endpoint.

Statistics. A new API endpoint reports on the health of any webhook:

  • GET /webhooks/{id}/statistics — stats for a webhook, by its ID

It returns a rolling 24-hour window covering total requests, success and failure counts, retry counts, success rate, and average response times. If you have more than one webhook, call it once per ID. For now the window is fixed at the last 24 hours; if this is useful let us know, filtering by time range is on the list for a future update.

We'll email you when a webhook is in trouble. Until now, a failing webhook could go unnoticed until someone asked why an event never arrived. Now Postmark watches each webhook's health over a rolling window and emails the account owner when an endpoint starts failing or slowing down enough to worry us — and again if it fails badly enough that we stop sending to it and it needs to be re-verified. You don't have to set anything up or poll the stats endpoint to find out something's wrong; the heads-up comes to you.

We've also made improvements to how webhook events are delivered behind the scenes. The short version: a misbehaving endpoint no longer slows delivery for well-configured ones. You don't have to do anything to take advantage of this performance increase.

A note on scope: this update applies to outbound webhooks: the delivery, bounce, open, click, spam complaint, and subscription events. Inbound webhooks run on separate infrastructure and aren't affected here.