> ## Documentation Index
> Fetch the complete documentation index at: https://onbound.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Email webhooks

> Receive real-time notifications for email delivery events.

harp processes email events via webhooks from your email delivery provider. These events update thread status, track engagement, and handle bounces.

## Events

| Event | Description |
| - | - |
| `email.delivered` | Email successfully delivered to recipient's server |
| `email.opened` | Recipient opened the email (tracking pixel loaded) |
| `email.clicked` | Recipient clicked a tracked link |
| `email.bounced` | Email bounced (hard or soft) |
| `email.complained` | Recipient marked email as spam |
| `email.delivery_delayed` | Delivery temporarily delayed |

## Signature verification

All incoming webhooks are verified using Svix signatures. The webhook endpoint validates the signature before processing any event.

Headers used for verification:

* `svix-id` — unique message ID
* `svix-timestamp` — Unix timestamp
* `svix-signature` — HMAC signature

> [!WARNING]
>
> Never disable signature verification in production. Unverified webhooks could allow attackers to inject fake events.

## Webhook endpoint

```
POST /api/webhooks/email
```

This endpoint is configured in your email delivery provider's dashboard. harp handles event processing, deduplication, and status updates automatically.

## Retry behavior

Failed webhook deliveries are retried by the provider with exponential backoff. harp returns a `200` status for successfully processed events and a `400` for invalid signatures.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.