email.unsubscribed
The recipient unsubscribed.
Signed with Standard Webhooks. At-least-once and unordered. Payloads are at most 64 KB. Answer any 2xx within 10 seconds; anything else is retried on the published curve.
webhook-id*stringThe delivery id. Identical across retries — dedupe on it.
webhook-timestamp*stringUnix seconds. Reject anything more than 5 minutes from now (replay protection).
webhook-signature*stringSpace-separated v1,<base64 HMAC-SHA256> signatures of {webhook-id}.{webhook-timestamp}.{raw body}, keyed with the base64 part of your whsec_ secret. Two appear during a secret rotation's grace window; accept either. Verify against the RAW body, before parsing.
application/json- body
The recipient unsubscribed.
id*stringThe delivery id — also sent as webhook-id. Dedupe on it.
type*"email.unsubscribed""email.unsubscribed"version*"1""1"created_at*stringWhen we queued it.
date-timeoccurred_at*stringWhen it happened. Order on this, never on arrival.
date-timedata*Accepted. Any 2xx stops retries.
The recipient unsubscribed.
{ "id": "string", "type": "email.unsubscribed", "version": "1", "created_at": "2019-08-24T14:15:22Z", "occurred_at": "2019-08-24T14:15:22Z", "data": { "event_id": "string", "message": { "id": "string", "to": "string", "from": "string", "status": "string", "source": "string", "created_at": "2019-08-24T14:15:22Z" }, "detail": {} }}{ "webhook-id": "string", "webhook-timestamp": "string", "webhook-signature": "string"}