Skip to main content
Webhooks send HTTP POST requests to your server when events happen on your licenses; creation, validation, revocation, and more. Use them to sync license state with your backend, trigger workflows, or update your database.

How it works

  1. You register a webhook URL in the dashboard or via the API.
  2. When a matching event occurs, AuthForge sends an HTTP POST to your URL with a JSON payload.
  3. Each request is signed with HMAC-SHA256 so you can verify it came from AuthForge.

Events

license.validated fires on every successful SDK login. For high-traffic apps, consider subscribing only to the events you need.

Payload format

Every webhook delivery sends a JSON body like this:

Headers

Signature verification

Every webhook is signed using the secret generated when you created the webhook. Always verify the signature before processing. The signature is computed as:

Verification example (Node.js / Express)

Verification example (Python / Flask)

Setup

Via the dashboard

  1. Go to your app’s SettingsWebhooks
  2. Click Add Webhook
  3. Enter your HTTPS endpoint URL
  4. Select which events to subscribe to (or select all)
  5. Click Create
  6. Copy the webhook secret: it’s shown only once

Via the Developer API

The response includes a secret field; store it securely for signature verification.

Limits

Testing

Use the test endpoint to send a sample payload to your webhook URL:
This sends a signed test.ping event to verify your endpoint is receiving and verifying payloads correctly.

Next steps