Webhooks & Events

Subscribe to real-time events to keep your application in sync with your email activity.

Supported Events

delivery

Email successfully delivered to recipient

open

Recipient opened the email

click

Recipient clicked a link in the email

bounce

Email delivery failed (hard or soft)

complaint

Recipient marked email as spam

reject

Email rejected by SES due to reputation or policy

Payload Example

Every webhook request includes a consistent JSON payload:

{
  "event": "open",
  "timestamp": "2025-12-29T13:45:00Z",
  "messageId": "msg_123456789",
  "recipient": "user@example.com",
  "metadata": {
    "userId": "user_abc",
    "campaignId": "camp_789"
  },
  "geo": {
    "ip": "1.1.1.1",
    "country": "US",
    "city": "San Francisco"
  }
}

Verification

To ensure webhooks are coming from Transmit, verify the X-Transmit-Signature header using your webhook secret.