Webhook events
contact.deleted
A contact was deleted.
When it fires
contact.deleted fires when a contact is deleted. data holds the contact as it was, with the segments it belonged to, and updated_at set to the time of deletion.
Payload
json
{
"type": "contact.deleted",
"created_at": "2026-09-29T10:00:00.000Z",
"data": {
"id": "YOUR_CONTACT_ID",
"segment_ids": ["YOUR_SEGMENT_ID"],
"created_at": "2026-09-29T09:59:59.000Z",
"updated_at": "2026-09-29T10:00:00.000Z",
"email": "ada@example.net",
"first_name": "Ada",
"last_name": null,
"unsubscribed": false
}
}| Field | Description |
|---|---|
id | The contact's ID. |
segment_ids | At most 100 segment IDs; this is not a complete membership list for contacts in more segments. |
created_at, updated_at | When the contact was created and last changed. |
email | The contact's normalized email address. |
first_name, last_name | The name, or null when empty. |
unsubscribed | Whether the contact is unsubscribed from all broadcasts. |
Custom property values and topic choices are not part of the payload. The deleted contact is no longer retrievable; keep any data you need before deletion.
Handle the event
Verify the signature and deduplicate by svix-id.