Receive real-time HTTP notifications when events happen in your affiliate program.
Configure a webhook URL and select which events you want to receive. When an event occurs, we POST a JSON payload to your URL with an HMAC-SHA256 signature for verification.
| Event | Description |
|---|---|
| conversion.created | A new conversion was tracked (any payment provider) |
| conversion.updated | A conversion status changed (approved, rejected, paid) |
| payout.completed | An affiliate payout was successfully processed |
| affiliate.joined | An affiliate joined one of your campaigns |
| affiliate.removed | An affiliate was removed from a campaign |
{
"event": "conversion.created",
"data": {
"conversionId": "stripe_7PtIfIqd_123",
"campaignId": "PAbeJtXF39gDMUPYGZqZX",
"affiliateId": "lRCbRMSvBcGg4HszLCXLr",
"amount": "100.00",
"commission": "20.00",
"currency": "usd",
"status": "pending"
},
"timestamp": "2026-04-13T10:30:00Z",
"id": "wh_del_abc123"
}Every webhook delivery includes an X-LinkJolt-Signature header containing an HMAC-SHA256 hash of the payload body signed with your webhook secret.
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}Failed deliveries (non-2xx response or timeout) are retried up to 3 times with exponential backoff. After 5 consecutive failures, the webhook subscription is automatically deactivated. You can reactivate it from your dashboard.