Webhooks

Mail Event

Fired when a mail event occurs on a mailbox with an active mail-event subscription. Events include message.received, message.sent, message.forwarded, message.delivered, message.bounced, and message.failed. This is fire-and-forget: the response status is logged but does not affect mail processing.

If your organization has a signing key, every webhook includes three headers:

  • X-Inkbox-Request-ID — UUID for deduplication.
  • X-Inkbox-Timestamp — Unix timestamp in seconds.
  • X-Inkbox-Signaturesha256={HMAC-SHA256 hex digest} over {request_id}.{timestamp}.{raw_body}.
postWebhook/mail-event

Payload

idstring required

Stable per-event id (evt_...); idempotency key, stable across replays.

event_type'message.received' | 'message.sent' | 'message.forwarded' | 'message.delivered' | 'message.bounced' | 'message.failed' required
timestampstring date-time required

ISO 8601 timestamp of when the event occurred.

Response

Successful Response

{"stackTrail":"webhooks:/mail-event:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.