Skip to main content
The Fluxguard plugin handles incoming webhooks. Point your provider’s subscription URL at your Corsair HTTP handler (see Overview for setup context and the exact URL shape).
New to Corsair? See webhooks and hooks.

Webhook map

  • change
    • detected (change.detected)

HTTP handler setup

app/api/webhook/route.ts
Three details decide whether a bad delivery is visible:
  • A rejected signature must throw. processWebhook ignores a handler’s statusCode and answers { success: true } for a returned success: false, keeping a failure only when the handler throws. The plugin’s handler throws on a bad signature and on an unparseable payload for that reason, so success is a reliable failure signal here.
  • A signature needs the exact body. Verification is HMAC over <t>.<raw body>, so mount the route without a JSON parser in front of it.
  • Fluxguard documents no retries. Treat a delivery as sent once: answering 500 keeps the failure visible in your own logs instead of acknowledging a change alert you did not process.

Events

Change

Detected

change.detected A monitored page changed: Fluxguard posts the captured version with references to its HTML, screenshot and diff files Payload
webhookHooks example