Skip to main content
Assumed ModelVersion: 3 (highest documented version at generation time) This method will perform a key activation, similar to Activate [Web API 2]. In contrast to key validation, key activation is not read only since it can change license key data depending on configurations such as trial activation, etc. If trial activation is enabled, a key can be altered. Information that is retrieved can be signed by the server to be able to keep validate keys without Internet connection. Please keep in mind that the Feature lock can be used to restrict the fields that can be shown in the result (fieldsToReturn). More about this in Remarks. This method is accessed by https://api.cryptolens.io/api/key/Activate

Parameters

Results

License Key (FieldsToReturn=0)

Metadata (FieldsToReturn=0)

You can hide metadata by checking.

Example results

If SignMethod=0
If SignMethod=1

Remarks

  • The feature lock value is used to store the filedsToReturn value. If you set a certain value in the feature lock, it will be prioritized higher than the fieldsToReturn parameter.
  • To compute the value of the feature lock, please use the Hide column, for those fields that you want to omit in the result above.
  • If the ActivatedMachines is hidden, only the current machine code will be included (used during this particular activation). Otherwise, all machine codes will be included.
  • This method will not work if block is set to true. Instead, you will first need to Unblock it.
  • Hiding a column using the filedsToReturn does not remove the field from the result. It only removes the value of the field, for example by setting it to null.
  • (For first time use) Before you proceed with signing, please visit this page to generate your public/private key pair.
  • The SignMethod currently supports two ways of returning the license key information and signing the content. Linq Sign (0) - The default option supported in the SKM Client API for.NET. Everything is returned as a JSON dictionary with a signature attached to the license key object.
  • String Sign (1) - This option is tailored for cross platform applications and is the preferred way retrieving signed versions of the license key object. The license key is converted into a json string which is later stored in base64. This is then signed using RSA 2048 with SHA256.
Please note that in both cases, Sign has to be set to true if you want the license key to be signed.

Errors

Model Versions

This changelog lists changes to the returned fields for each model version.
  1. This model has a few changes. First, we have added a Reseller object to the LicenseKey. Secondly, we have made sure that all node-locked and floating licenses are returned (unless field masking is used). We added FloatingExpires to ActivatedMachines so that you can check when the activation was set to expire (note, this value can be overridden when calling this method with a different FloatingTimeInterval).
  2. Add FriendlyName to ActivatedMachines in the license key.
  3. The original model.

FAQ

Why does changing Friendly Name not update the dashboard?

Repeating a node-locked activation with the same MachineCode does not update the stored FriendlyName. The name is stored when that device is first registered. A successful repeated activation therefore does not mean the dashboard name changed. For example, register YOUR_MACHINE_CODE with FriendlyName="Office laptop", then activate the same machine code with FriendlyName="Renamed laptop". Its stored node-locked name remains Office laptop. A subsequent successful floating activation with the new name refreshes the stored floating-device name to Renamed laptop. FriendlyName is a label. MachineCode identifies the device; changing the label does not change that identity or seat count. Friendly names are included in activation responses using model versions 2 and 3. Selecting a newer response model does not make repeated node-locked activation update the stored name.

Should I use Activate for daily checks and floating renewals?

Activate requires the Activate token permission. It registers a device when machine locking is enabled and acquires or renews a floating seat when Maximum Number of Machines is greater than zero and FloatingTimeInterval is positive. Reuse the same MachineCode for renewals. GetKey is a read-only lookup: it does not acquire or renew a seat. Once-daily refresh is an application policy example, not a universal requirement. Floating processes must renew before their confirmed seat expires and stop licensed work when that deadline arrives; a failed renewal does not extend it. See the floating lifecycle.

Does a successful activation replace application validation?

No. Request a signed response with Sign=true and verify its signature, expected product and license identity, required features, blocking, expiry under your application’s policy, and machine binding where configured. Activate rejects blocked keys, but API success alone does not enforce every application-specific condition. For cached responses, also check age from the signed timestamp; saving the file does not restart its allowance. An explicit API rejection, invalid signature, or failed license check must not be overridden by an older cached response. See the validation checklist and offline verification flow.