Alpha
Real-Time Events

Webhooks

Receive real-time notifications when events happen on the WHV Platform. Build powerful integrations that respond instantly to jobs, applications, and more.

How It Works

Three simple steps to start receiving real-time event data.

1

Register Your URL

Provide a publicly accessible HTTPS endpoint where you want to receive webhook events.

2

Select Events

Choose which event types you want to subscribe to. Only receive the data you actually need.

3

Receive Events

Get real-time POST requests with structured JSON payloads whenever subscribed events occur.

Event Types

Subscribe to the events that matter to your integration.

job.posted

When a new job listing is created on the platform.

job.updated

When a job listing is modified or its status changes.

application.received

When a candidate applies for a job listing.

application.status_changed

When an application status changes (reviewed, shortlisted, hired, rejected).

pod.created

When a new social pod is formed on the platform.

pod.member_joined

When someone joins an existing pod as a new member.

candidate.verified

When a candidate completes identity or visa verification.

compliance.alert

When a compliance issue is detected that requires attention.

Payload Format

Every webhook delivers a structured JSON payload with event details and relevant data.

POST https://your-app.com/webhooks
{
  "event": "job.posted",
  "timestamp": "2026-03-19T10:30:00Z",
  "data": {
    "id": "job_abc123",
    "title": "Farm Hand - Fruit Picking",
    "employer": "Sunshine Farms",
    "location": "Bundaberg, QLD",
    "salary": "$28/hr"
  }
}

Webhook Security

Every webhook request is signed so you can verify it came from the WHV Platform.

HMAC-SHA256 Signatures

Each webhook request includes a signature header that you should validate to ensure the payload was sent by the WHV Platform and has not been tampered with.

  • Signature sent in X-WHV-Signature header
  • Computed using your webhook secret key
  • Timestamp included to prevent replay attacks
  • Always verify before processing payloads
verify-signature.ts
// Verify the webhook signature
import crypto from "crypto";

function verifyWebhook(
  payload: string,
  signature: string,
  secret: string
): boolean {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(payload)
    .digest("hex");

  return crypto
    .timingSafeEqual(
      Buffer.from(signature),
      Buffer.from(expected)
    );
}

Retry Policy

We ensure reliable delivery with automatic retries and failure notifications.

1st Retry

After 1 minute

2nd Retry

After 10 minutes

3rd Retry

After 1 hour

Webhooks are retried up to 3 times with exponential backoff. If all attempts fail, you will receive an email notification and the webhook will be marked as failed in your developer dashboard. Respond with a 2xx status code to acknowledge receipt.

Start Building

Set up your first webhook in minutes and start receiving real-time platform events.