Verify before you act
The HMAC covers the raw request body, so your handler can reject anything that does not match the endpoint's signing secret.
The real outcome — delivered, bounced, complained — lands after your send already returned 200. NoticeAPI pushes each one as a signed callback and keeps the same trail in the recipient timeline and status API for when you need to reconcile.
Add one or more HTTPS receivers in the portal and keep each generated signing secret private.
Verify HMAC-SHA256 against the raw body before enqueueing work or mutating product state.
Use messageId, type, and webhookId so a repeated event cannot run the same internal job twice.
Send to delivered@, bounced@, complained@, or [email protected] and watch the same path.
Your webhook carries the same trail support reads: provider outcome, NoticeAPI timeline, signed payload, then your app's acknowledgement.
Verify webhook signaturesProvider events become NoticeAPI delivery, bounce, complaint, suppression, unsubscribe, or tracking events.
The email detail page and status endpoint show the message state your webhook receives.
Every enabled endpoint receives a raw-body HMAC signature and endpoint id with the event.
Return a quick 2xx after verification, then move heavier work into your own queue.
The HMAC covers the raw request body, so your handler can reject anything that does not match the endpoint's signing secret.
The same delivered, bounced, complained, suppressed, and unsubscribed events reach your webhook, the recipient timeline, and the status API.
x-noticeapi-webhook-id tags every event, so several endpoints can split traffic by service without guessing.
Simulator recipients fire delivered, bounced, complained, and suppressed outcomes down the same path before any real mailbox is involved.
Treat every callback as untrusted until the signature matches. Return 2xx as soon as the checks pass, then push heavier account, billing, or support work onto your own queue.
Yes. NoticeAPI sends each event to every enabled endpoint and includes x-noticeapi-webhook-id for routing.
Return any 2xx quickly after verifying the signature. Process slower work asynchronously in your own app.
Pair the push with a pull. Webhooks deliver events as they happen; the email status endpoint and dashboard timeline let you re-read any message, and stored event ids keep repeated callbacks from running the same work twice.
Yes. Simulator recipients exercise the same event and webhook pipeline without real mailboxes or quota use.
Simulator outcomes are free. Move to a verified domain when the path is ready.