SendGrid event webhook payload example

SendGrid (Twilio) · event: event webhook batch · content type: application/json

This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).

See it live, not frozen

One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:

Then paste the bin's URL into SendGrid (Twilio)'s webhook settings to capture a real delivery. No signup.

Headers

content-type: application/json
user-agent: SendGrid Event API
x-twilio-email-event-webhook-signature: MEUCIQCtIHJeH93Y+qpYeWrySphQgpNGNr/U+UyUlBkU6n7RAwIgJTz2C+8a8xonZGi6BpSzKQ9TeVXCrUUyy9crJO47lY0=
x-twilio-email-event-webhook-timestamp: 1787961600

Body

[
  {
    "email": "jane.doe@example.com",
    "timestamp": 1787961600,
    "smtp-id": "<14c5d75ce93.dfd.64b469@ismtpd-555>",
    "event": "processed",
    "category": [
      "welcome-series"
    ],
    "sg_event_id": "rWVYmVk86v5W3N9dSCFW1g==",
    "sg_message_id": "14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"
  },
  {
    "email": "jane.doe@example.com",
    "timestamp": 1787961624,
    "event": "delivered",
    "response": "250 OK",
    "sg_event_id": "jHhLoRU1TQysDN7cIvXbFA==",
    "sg_message_id": "14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"
  },
  {
    "email": "jane.doe@example.com",
    "timestamp": 1787961700,
    "event": "open",
    "ip": "203.0.113.10",
    "useragent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X)",
    "sg_event_id": "ZyeTZmU1S9KwBBBRV1nzHg==",
    "sg_message_id": "14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"
  }
]

Things that bite people

Send it yourself

Reproduce this delivery against any endpoint (your handler, a bin, staging):

$ curl -X POST https://your-endpoint.example/hook \
  -H 'content-type: application/json' \
  -H 'user-agent: SendGrid Event API' \
  -H 'x-twilio-email-event-webhook-signature: MEUCIQCtIHJeH93Y+qpYeWrySphQgpNGNr/U+UyUlBkU6n7RAwIgJTz2C+8a8xonZGi6BpSzKQ9TeVXCrUUyy9crJO47lY0=' \
  -H 'x-twilio-email-event-webhook-timestamp: 1787961600' \
 -d '[{"email":"jane.doe@example.com","timestamp":1787961600,"smtp-id":"<14c5d75ce93.dfd.64b469@ismtpd-555>","event":"processed","category":["welcome-series"],"sg_event_id":"rWVYmVk86v5W3N9dSCFW1g==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"jane.doe@example.com","timestamp":1787961624,"event":"delivered","response":"250 OK","sg_event_id":"jHhLoRU1TQysDN7cIvXbFA==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"},{"email":"jane.doe@example.com","timestamp":1787961700,"event":"open","ip":"203.0.113.10","useragent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X)","sg_event_id":"ZyeTZmU1S9KwBBBRV1nzHg==","sg_message_id":"14c5d75ce93.dfd.64b469.filter0001.16648.5515E0B88.0"}]'

← All payload examples · Related guide · Signature debugger · Docs