Skip to documentation

Webhook events

email.complained

A recipient marked the email as spam.

When it fires

email.complained fires when Amazon SES receives a spam complaint for the email through a feedback loop. Opensend emits one event per complaining recipient; data.to holds only that recipient. The address is added to the team's suppression list, which emits suppression.added.

Payload

json
{
  "type": "email.complained",
  "created_at": "2026-09-29T10:00:00.000Z",
  "data": {
    "created_at": "2026-09-29T09:59:59.000Z",
    "email_id": "YOUR_EMAIL_ID",
    "message_id": "SES_MESSAGE_ID",
    "from": "hello@example.com",
    "to": ["you@example.net"],
    "subject": "Welcome",
    "tags": {}
  }
}

The data fields are the common email fields described in email.sent.

Handle the event

Verify the signature and deduplicate by svix-id. Stop sending marketing email to the address.