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 licenses
POST
Create one or more license keys for an application.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
appId | string | Yes | The application to issue licenses for |
quantity | integer | No | Number of licenses to create (1–100, default 1) |
expiresAt | string | null | No | ISO 8601 expiration date, or null for lifetime |
maxHwidSlots | integer | No | Max devices per license (1–16, default 1). Ignored when unlimitedHwidSlots is true. |
unlimitedHwidSlots | boolean | No | When true, mark these licenses as shared “unlimited-seat” keys. The server skips seat enforcement and never returns hwid_mismatch for them. See Unlimited-seat licenses. |
label | string | No | Optional label for your records (max 128 chars) |
Example: minimal
Example: all options
Response (201)
Errors
| HTTP | Code | Cause |
|---|---|---|
| 400 | bad_request | Invalid or missing parameters |
| 402 | no_credits | Insufficient credits |
| 403 | forbidden | The app doesn’t belong to your account |
List licenses
GET
List all licenses for an application with cursor-based pagination.
Query parameters
| Param | Type | Required | Description |
|---|---|---|---|
appId | string | Yes | The application to list licenses for |
limit | integer | No | Results per page (1–200, default 50) |
cursor | string | No | Pagination cursor from a previous response |
Example
Response (200)
Pagination
Ifcursor is non-null, more results are available. Pass it as a query parameter in the next request:
Get a license
GET
Get full details for a single license including HWID bindings and label.
Example
Response (200)
Errors
| HTTP | Code | Cause |
|---|---|---|
| 403 | forbidden | The license’s app doesn’t belong to your account |
| 404 | not_found | License key doesn’t exist |
Update a license
PUT
Perform an action on a license: revoke, activate, extend expiration, or reset HWID bindings.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
action | string | Yes | One of: revoke, activate, extend, reset-hwid |
expiresAt | string | For extend | New ISO 8601 expiration date (required when action is extend) |
Revoke a license
Immediately disables the license. End users will fail validation on their next heartbeat or login attempt.Re-activate a revoked license
Restores a previously revoked license back to active status.Extend expiration
Sets a new expiration date. Use for subscription renewals or granting additional time.Reset HWID bindings
Clears all bound hardware IDs, allowing the license to be activated on new devices.Response (200)
Delete a license
DELETE
Permanently delete a license. This cannot be undone.
Example
Response (200)
Errors
| HTTP | Code | Cause |
|---|---|---|
| 403 | forbidden | The license’s app doesn’t belong to your account |
| 404 | not_found | License key doesn’t exist |