Skip to content

Activations ​

An activation records that a license is being used somewhere – a website, a device, a user, or a server instance. The plan's activation type controls what each activation represents.

Activation Types ​

TypeTracksIdentifier exampleNormalisation
domainWebsitesexample.comProtocol, www., and path stripped. Lowercased
deviceComputers, phones, IoTMacBook-Pro-ABC123Kept as-is
seatIndividual usersuser@company.comLowercased
instanceServer / container instancesprod-api-01Kept as-is

Normalisation happens server-side in the API. A customer's app can send https://www.Example.com/path and it's stored as example.com – so the same site can't accidentally consume two activation slots.

How It Works ​

The customer's software (or a license-check plugin in your Joomla extension, WordPress plugin, desktop app, etc.) talks to LicenseDock through three API calls:

EndpointPurpose
POST /licenses/activateRegister a new activation
POST /licenses/validateCheck the license is still good (run on app start, periodically, or before features that need it)
POST /licenses/deactivateRemove an activation, freeing a slot

Activation is idempotent – calling activate twice with the same identifier returns success without creating a duplicate.

Activation Limit ​

Each plan has an Activation Limit. 0 means unlimited. When the limit is reached, the API returns:

json
{
  "error": {
    "code": "ACTIVATION_LIMIT_REACHED",
    "message": "Activation limit reached.",
    "activation_limit": 5,
    "activations_used": 5
  }
}

The customer needs to deactivate one of their existing activations (from your app or the customer portal) to free a slot.

Activation Record ​

Each activation row holds:

FieldNotes
IdentifierNormalised based on activation type
NameOptional friendly label – set this from your app to help customers identify activations in the portal
IP AddressIP of the request that activated
Activated AtTimestamp

Admin Override ​

Admins can add or remove activations directly from Components → LicenseDock → Licenses → Edit. Adding bypasses the activation limit so support can help customers without forcing them to deactivate first.

For Developers ​

Building license-check into your software? Start with the API reference:

Joomla Extensions by Contona