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).
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.
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
[
{
"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"
}
]
{...} at the top level break. Events are batched (typically
posted every ~30 seconds), so always iterate.sg_message_id (its prefix matches the
X-Message-Id the Send API returned), or attach your own
custom_args — they come back on every event.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