Events
| Event | Fires when |
|---|---|
delivery | The receiving mail server accepted the message |
bounce | The message bounced (hard or soft) |
complaint | The recipient marked the message as spam |
open | The recipient opened the message (tracking pixel loaded) |
click | The recipient clicked a tracked link |
* | All of the above (wildcard subscription) |
Create a webhook
Set the URL
The HTTPS endpoint Hiveku will POST events to (e.g.,
https://api.acme.com/webhooks/hiveku).Optional: tag filters
Restrict the webhook to fire only for emails carrying specific tags (e.g.,
marketing).Copy the signing secret
Hiveku generates a signing secret per webhook — copy it for signature verification.
Event payload
All events share a common envelope:data fields:
bounce—bounce_type(hard|soft),bounce_subtype,diagnostic_codecomplaint—complaint_type(abuse,fraud,virus,other),feedback_idopen—ip_address,user_agent,timestampclick—url,ip_address,user_agent,timestamp
Verifying signatures
Every delivery includes anX-Hiveku-Signature header containing an HMAC-SHA256 of the raw body using your webhook secret. Always verify before trusting the payload.
Auto-disable on failures
Hiveku retries failed deliveries with exponential backoff (see Retry policy below). If a webhook returns non-2xx for every retry across 24 consecutive hours, it is automatically disabled and you get an email alert. Re-enable it from the dashboard after fixing the endpoint.Health monitoring
The webhook detail page shows:- Last delivery attempt and status
- Success rate over the past 24 hours / 7 days
- Recent failures with full request and response
- A Send Test Event button to confirm the endpoint is live
Tag-based filtering
If you only care about certain tags (say,marketing but not transactional), set a tag filter on the webhook. Hiveku only fires the webhook when the originating email carried at least one matching tag. Tag filters are AND-ed with the event-type subscription.
Retry policy
Non-2xx responses trigger retries with exponential backoff:- Attempt 1: immediate
- Attempt 2: 30s later
- Attempt 3: 2 min later
- Attempt 4: 10 min later
- Attempts 5-10: hourly
- Subsequent attempts: every 6 hours for up to 24 hours