Getting Started

Basic Concepts

13min
if you are new to licensespring, or to software licensing in general, you might find it helpful to review the following concepts so that you can get up and running as quickly as possible product a defined product within the licensespring platform this is what you wish to add software licensing to a product can be a web app, a desktop application, a plugin, a device/hardware or a microservice for example a product can have many possible attributes, but here are a few that you should be aware of product name this is what you call your app it can be anything, and is not particularly consequential for configuring your licensespring account the product name can be edited at any time by a user of the vendor platform product code the product code is important as it is a required field for most of the license api calls you cannot change a product code once you have defined a product in licensespring, so choose it wisely! product authorization licensespring supports key based or user based authorization key based licenses use a license key to authorize a license with the license api it is mostly used for node locking licenses to a machine or device user based licenses require that an email is assigned to a license the user's email and password (or single sign on) is used as part of the authorization process licenses an example license detail page licenses serve as a record of entitlements granted for a given product these license entitlements can be issued, modified, transferred, revoked, and contain many configuration options here are a few of the main options to be aware of license types there are 4 elementary types of licenses which can be issued using licensespring perpetual these licenses do not have expiry dates time limited these licenses have a fixed end date this end date can affect the license status subscription the license status is determined by an external source of truth (like a recurring billing system such as stripe) subscriptions also have subscription periods recorded consumption allows for usage metering, such as counting the times a license application is run, or number of api requests license max activations max activations is a field determining how many unique devices can be bound to a license license total activations total activations is also a field that belongs to a license, and counts how many distinct devices have been bound to a given license total activations will always be less than or equal to max activations license status this is the state of a given license there are many different states covered in different section in these docs the main ones to be aware of inactive the license has not been bound to any device but can currently be used specifically, the total activations field is 0 active the license has been bound to at least 1 device, and can currently be used (is not disabled or expired) expired for licenses that can expire (eg time limited licenses) disabled the software vendor can set a license as disabled, which overrides other statuses a subscription license is disabled when the subscription is no longer active activation the license activation is the act of binding a license to a device, also known as node locking license activation requires a hardwareid, the license authorization method (either a license key, or an email / password), the product code hardware id this is a unique identifier of a device that activated a license, and is sent on almost all requests to the license api licensespring's restful apis there are two primary restful apis maintained to interface between licensespring and your product and technology license api the license api is what your client facing application will use to connect to licensespring's cloud it allows for a limited set of operations such as license checks, activations, or to count consumptions it uses a signing and verifying key in order to communicate with the server securely management api the management api is intended for all of your back office operations, such as creating new licenses, exporting license usage to a bi tool, or integrating with your internal erp, crm, or recurring billing for instance it is not intended to be customer facing licensespring's sdks we have developed and maintain several wrappers to the apis to make it easier to add licensespring to your software, as well as to make it easier to use for example the sdks will automatically compute the hardwareid, enable local license checks, prevent clock tampering, or cache consumptions, to name a few of the additional features that the sdks provide