Manage webhook endpoints that receive real-time notifications when license events occur.Documentation Index
Fetch the complete documentation index at: https://docs.authforge.cc/llms.txt
Use this file to discover all available pages before exploring further.
Create a webhook
POST
Register a new webhook endpoint for an application.
Path parameters
| Param | Type | Description |
|---|---|---|
appId | string | The application ID |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | HTTPS endpoint URL to receive events |
events | string[] | Yes | Array of event names to subscribe to |
enabled | boolean | No | Whether the webhook is active (default true) |
Available events
license.validated, license.created, license.revoked, license.activated, license.hwid_bound, license.hwid_reset, license.deleted
Example
Response (201)
Errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | bad_request | Invalid URL, empty events array, or invalid event name |
| 403 | forbidden | The app doesn’t belong to your account |
| 400 | bad_request | Max 5 webhooks per app exceeded |
List webhooks
GET
List all webhooks for an application.
Example
Response (200)
The
secret field is not returned in list responses for security.Update a webhook
PUT
Update the URL, events, or enabled status of an existing webhook.
Path parameters
| Param | Type | Description |
|---|---|---|
appId | string | The application ID |
webhookId | string | The webhook ID |
Request body
All fields are optional; only included fields are updated.| Field | Type | Description |
|---|---|---|
url | string | New endpoint URL |
events | string[] | New event subscriptions |
enabled | boolean | Enable or disable the webhook |
Example
Response (200)
Delete a webhook
DELETE
Permanently delete a webhook endpoint.
Example
Response (200)
Test a webhook
POST
Send a test event to the webhook endpoint. Returns the HTTP status code from your server.
Example
Response (200)
test.ping event with sample data to your endpoint.
Webhook payload format
Every webhook delivery sends an HTTP POST with these headers and body:Headers
| Header | Value |
|---|---|
Content-Type | application/json |
X-AuthForge-Event | Event name (e.g., license.revoked) |
X-AuthForge-Timestamp | ISO 8601 timestamp |
X-AuthForge-Signature | sha256=<hex> where <hex> is HMAC-SHA256(secret, body) |
Body
data object varies by event type but always includes licenseKey and appId.