Get notified in real time when files are processed and premiums are calculated. No polling required.
Real-time HTTP callbacks that notify your systems when events happen.
Instead of polling the API to check if a file has been processed, webhooks push notifications to your server the moment something happens. This is faster, more efficient, and eliminates the need for polling loops.
Common use cases:
Add your webhook URL in the portal settings.
Navigate to Settings → Webhooks in your portal. Click "Add Webhook" and enter:
https://yourapp.com/webhooks/audit1)Choose which events trigger notifications.
Available webhook events:
file.premium_calculated. This is the most common event — it fires when the full pipeline completes and premium amounts are ready.
Understand the JSON payload your endpoint will receive.
Each webhook delivery is a POST request with a JSON body:
{
"event": "file.premium_calculated",
"timestamp": "2026-04-06T14:30:00Z",
"data": {
"file_id": "663a1b2c3d4e5f6789012345",
"policy_number": "WC-2026-001",
"employer": "Acme Corp",
"total_rows": 45,
"green_rows": 43,
"red_rows": 2,
"total_premium_cents": 1234567
}
}Headers include X-Audit1-Signature for verification and X-Audit1-Event with the event type.
Ensure webhook payloads haven't been tampered with.
Every webhook includes an X-Audit1-Signature header containing an HMAC-SHA256 signature of the request body, signed with your webhook secret.
// Node.js verification example
const crypto = require('crypto');
function verifySignature(body, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}Send test events to verify your endpoint works correctly.
From Settings → Webhooks, click the "Send Test" button next to your registered endpoint. This sends a sample payload for each subscribed event type.
Your endpoint should:
200 OK response within 10 seconds