Software Licensing
Software Licensing
License keys are generated using AES-256-GCM encryption, but only for products of type Software License that also have the Has Releases switch turned on in the product form (Catalog → Products → [Product] → Software License tab). A Software License product with releases turned off, or any plain Digital Download product, is fulfilled as a direct download instead — see Secure Downloads & Versions.
How Licenses Work
- Customer purchases a Software License product/plan that has releases configured
- A license key is auto-generated once the order is paid and emailed to the customer
- The customer activates the license on their site/application
- Your software calls the License Verification API to validate the key and obtain an activation token
- The API returns the plan details, expiry date, and activation limits
License Limits
Control how many installations (sites, domains, devices) a license can cover:
- Set an Activation Limit per product plan (e.g., 1 site for Basic, 5 sites for Pro)
- If the activation limit is reached, new activations are blocked with a clear error
- Customers can deactivate an old site to free up a slot
License Verification API
Your software calls the REST API to verify a license and obtain a short-lived activation token:
POST /api/licenses/verify
{
"license_key": "EOP-XXXX-XXXX-XXXX",
"domain": "example.com"
}
The response returns the plan, expiry, allowed features, and an activation token. Use that token on subsequent calls to POST /api/licenses/check (periodic re-validation) and POST /api/licenses/deactivate (free up an activation slot) — the license key itself is not resent on every request.
Revoking & Regenerating Licenses
Admins and customers can revoke a license from the admin panel or customer account. A new license is automatically generated and emailed. Revoked licenses are immediately invalidated at the API level.