Loading…

Loading…
Chat with Kora™
Online
Powered by Kora™ — responses may not be 100% accurate
Everything you need to build reliable listeners for Kontraktr™ events, debug sync failures, and understand exactly what data flows between Kontraktr™ and your connected tools — Stripe, Twilio, QuickBooks, EasyPost, Zapier, and Make.com.
Kontraktr™ sends these events to your registered endpoints whenever things happen in your shop. Set up endpoints in Settings → Integrations → Webhooks.
Every outbound request includes an X-Webhook-Signatureheader. Verify it to confirm the request is genuinely from Kontraktr™ and hasn't been tampered with.
import { createHmac, timingSafeEqual } from "crypto";
function verifyKontraktrSignature(
rawBody: string,
secret: string,
signatureHeader: string // e.g. "sha256=abc123..."
): boolean {
const expected = "sha256=" + createHmac("sha256", secret)
.update(rawBody, "utf8")
.digest("hex");
// Timing-safe comparison prevents timing attacks
return timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}Compatibility headers sent on every request
| Header | Value |
|---|---|
| X-Webhook-Signature | sha256={hex digest} |
| X-Webhook-Delivery | {deliveryId} |
| X-Zapier-Event | {event name} (for Zapier endpoints) |
| X-Hook-Event | {event name} (for Make.com endpoints) |
| User-Agent | Kontraktr™-Webhooks/1.0 |
| Content-Type | application/json |
Every outbound webhook wraps its event-specific data in a consistent envelope.
{
"event": "job.status_changed", // event type (see table below)
"timestamp": "2026-03-26T18:00:00.000Z", // ISO 8601 UTC
"data": { // event-specific payload
...
}
}Click any event to see its full payload example.
Kontraktr™ considers a delivery successful if your endpoint returns any2xx status within 10 seconds. Response body is logged (up to 1,000 characters) but not processed.
Any 4xx or5xx status, network error, or timeout triggers the retry schedule. A delivery that times out at 10s counts as a failure.
If you hit an edge case not covered here, our support team understands the technical side. File a ticket and we'll get back to you fast.