Integrations
Webhooks — async event delivery.
Setup
- Register a webhook endpoint via
POST /v1/webhooks - Store the returned secret securely (shown only once)
- eupeak.io will POST signed events to your URL
Event payload
{
"event": "screening.complete",
"screening_id": "uuid",
"timestamp": "2026-04-15T09:00:00Z",
"data": { ...full screening response... }
}Verifying signatures
Header: X-Eupeak-Signature: sha256=HMAC_HEX
TypeScript verification
import crypto from 'crypto';
function verifySignature(
payload: string,
secret: string,
sig: string
): boolean {
const expected =
'sha256=' +
crypto.createHmac('sha256', secret).update(payload).digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(sig)
);
}Retry policy
On non-2xx response: retry at 1m → 5m → 15m → 1h → 24h. After 5 consecutive failures, the webhook is marked degraded.