New License Key Panel

Today we’ve released a new license key overview panel, which you can access by clicking on a license key on the “product page”. It is a replacement of the page were you would normally be redirected when selecting a key and the “Advanced Key Details” page.

The current page uses our new Web API 3, which means that everything you can do on this page can be achieved in your code. Please keep in mind that it requires a ‘standard’ subscription (‘premium’ won’t work unfortunately).

A unique feature of this new license key panel is that is supports labels that can help you to distinguish between various properties of a license key. For example, you might already use ‘feature 1’ as a way to mark a license key as a trial key. You can specify this here. Our intention is to build on top of this idea and bring support for labels to the product page, etc. More labels are coming later this month.

This panel is still a work in progress, so if you would have any suggestions or questions, please let us know! Here’s our feedback form.

Activation Format Updated

The newest release of the SKM Platform (since 2016.06.27) is now supporting the new LicenseKey format, which is the default format of the Web API 3. This change has two implications: on Activation Forms and on the activation files on the product page.

  • Activation Forms – only new activation forms will be affected
  • Activation Files – the default is the new format.

To make this work in your application, please upgrade to SKM Client API (v.4.01). A good migration guide can be found here.

You are always welcome to ask us questions by contacting us!

A sample format of the new activation files is shown below:

  "productId": 3349,
  "id": 2,
  "created": "2015-08-27T00:00:00",
  "expires": "2016-07-27T00:00:00",
  "period": 30,
  "f1": true,
  "f2": false,
  "f3": false,
  "f4": true,
  "f5": false,
  "f6": false,
  "f7": false,
  "f8": false,
  "notes": "awdawd123",
  "block": false,
  "globalId": 24964,
  "customer": null,
  "activatedMachines": [
      "mid": "foo",
      "ip": "",
      "time": "2016-06-27T11:43:10.167"
  "trialActivation": true,
  "maxNoOfMachines": 4,
  "allowedMachines": "",
  "dataObjects": [
      "id": 61,
      "name": "artem",
      "stringValue": "",
      "intValue": 1337
  "signDate": "2016-06-27T11:43:13",
  "signature": "RpFDLKvfv8fJHjpZ7xnFDtUPY8xbxVNzha8jDiYeZaz57d9V9URC8IBynFUky5w4Y2HmhjDQ6uxKh8nMJnivMkNQXmsGl8GFEN2tG4tMKie9KRFmOULh+rE4lCV2Ot1Aj9DT+m/+K0kqAzMfHIY+cMdulCxOdYmMafuP1tyxgUsSAVP04ax/pbHI9ps7YwPYMqAvCmrWKL+J4ITyA7CdnQkwDnEcTX6gTK0atJA2pk2fZMPW9RpCLYIVgrMa8nfc7x2mxIYDX7nN9GWZi+jdipbHFgc91KcmgSi7WzEl4gWRVk9aKsBDe+taolNst0uruCBKZiL+BNV84gG2mDBWzg=="


Activation files, de-activations and coming features

Activation Box

This week we’ve finished the “activation file box” that can be found on the product page. Here’s an overview:

The advantage of using it that you can easily add and remove new devices, as well as get an activation file that can be sent to users with no Internet access. The activation box consists of several ideas suggested by our users, so it feels great to add support for it!

Where we are moving

Many of us have experienced that since the last year, the core interface has remained unchanged. However, under the hood, many new functionalities have been added. Our primary focus has always been on the new Web API 3, which, in contrast to Web API 2, gives you more power and customization. Now that we have the foundation up and running, the new changes to the interface are going to occur much faster. Here, our aim is to move to a single-page design that allows you to stay on the same page without having to refresh the page. The goal is to increase productivity by reducing page loading time.

Another point worth mentioning is that we are going to expand the capabilities of the SKM.dll (aka SKGL Extension). Many of us use KeyInformation objects to store license information. However, many things have changed since it was first introduced, and keeping adding new things to it won’t be good from both a design perspective and a usability perspective.Therefore, we plan to add an entirely new class of representing license key information, with fields for customer information, data objects (aka additional variables), etc. Unfortunately, this will require some migration for those of us would like to adapt the new way. But, we will do our best to make it as simple as possible.

This is really exciting and I hope to be able to share some updates with you in the coming weeks! 🙂 You are always able to see the progress here.

Easy Way to Update Licenses

One of the requested features is the ability to update licenses (see previous post about extending licenses). Today, we’ve released two new methods that make it easier to update the state of any given feature. The methods are:

In addition to that, there is now an option to create Access Tokens that have a feature lock. That is, not only is it possible to restrict the scope of the access token to a product or a key, but also to features.

Both of these are now a part of the new version of the client API (SKGL Extension).

Offline Activation

As many of you might know, when SKGL Extension does not have access to the Internet, the TimeLeft field will not be updated.Therefore, please always use DaysLeft method in those cases.


Web API 3 is constantly being improved. Please let us know how we can make it even better!

SKGL Extension 2.0.9 available

A new version of the client API for Serial Key Manager is now available. You can get it from GitHub or NuGet (in Visual Studio):

Here are some of the new capabilities:

* Allow the username (current logged in user) to be included in the getMachineCode method.
* Ability to save and load key information data in JSON format.
* Add ExtendLicense method.
* Add general interface to communicate with Web API 3.

Simple Subscription Management with Web API 3

Today, we’ve released two main things that will simplify many of the tasks that are faced primarily by those that want to set up a subscription based licensing model. These are the Extend License method and the introduction of Web API 3.

Extend License method

The Extend License method offers a simple way of extending a license either before the subscription has expired or afterwards. It’s actually as simple as to simply specify the number of days you want the license to be extended with and it will do the rest. Another great thing about it is that it is encapsulated into the Web API 3 framework, which means that you have greater possibility to adjust the scope/permissions (more about that below).

Introduction of Web API 3

Several months ago, we discontinued the old Web API, and moved most of the methods into Web API 2. The introduction of Web API 3 is a bit different, though. There is no intention of trying to discontinue the 2nd version. Instead, the 3rd version is simply an extension of the 2nd, with features that are desired by our users. Here are some of the examples:

  • The 3rd version keeps all information about scopes of permissions in Access Tokens. You can specify the methods that an access token has access to as well as the products and keys it should be able to interact with. Note, IsPublic will not affect the access to a product; it’s all managed using access tokens. Moreover, you are able to revoke access at any time by removing the token from here.
  • Versioning has improved quite a lot in the 3rd version of the Web API. Now, you can explicitly specify the method version that you want access to, by adding it to the query string. It’s not required, but once we introduce new features, it will be quite simple to upgrade.

Feedback and suggesting new methods

The 3rd version of the Web API is still quite new, so if you have any problem in mind or a suggestion of a concrete method, please submit your idea here! 🙂