Webhooks

Subscribe a URL and receive engagement events as they happen — deliveries, opens, replies, bounces, and more.

Subscribe

Register a target URL and, optionally, an event filter. The create response returns a signing secret exactly once — store it to verify deliveries.

curl -s -X POST "https://api.apollosender.xyz/v1/hooks" \
  -H "Authorization: Bearer $APOLLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/hooks/apollo"}'

Verify signatures

Every delivery is signed with your subscription secret using HMAC-SHA256. Recompute the signature over the raw body and reject the request if it doesn't match.

Event types

Filter to the events you care about, or omit the filter to receive them all:

  • sent
  • opened
  • replied
  • bounced
  • unsubscribed
  • out_of_office
  • complained

Delivery & retries

Failed deliveries are retried with backoff. Each event carries a stable dedupKey — use it to make your handler idempotent so a retry never double-counts.