Skip to content

Client SDK

Give your callback to the SDK: RunFeature for entitlements, RunMeteredFeature for counters. The SDK handles requests, signatures, cache and heartbeats.

Go SDK · Java · C · C++ · C# / .NET · Python · JavaScript · Rust · Ruby

Where do initialization arguments come from?

Product ID: Console > Products. Trusted keys: the same product’s Signing public keys, mapped from key ID to public key. Put them in the product ID and trustedKeys arguments. Read licenseKey from your activation form.

The official server is the SDK default. Basic integration needs no configuration file or software release. Pass private deployment, proxy or version settings directly in the SDK configuration object when needed.

Install the SDK

Install a pinned version in your application project. Select a language above to see its platform’s installation instructions. Installing the public SDK does not require a vendor management API key.

· View the published version

Installation command or project dependency

Version:

How to reference the installed SDK
LanguageProject integration
Goimport licentivo "github.com/spf86/licentivo-sdk"
Javaimport licentivo.Client;
C / C++find_package(Licentivo 0.11 REQUIRED) · target_link_libraries(MyApp PRIVATE Licentivo::C) / Licentivo::CPP
C#using Licentivo;
Pythonfrom licentivo import Client
Node.jsimport {Client} from '@licentivo/sdk'
Rustuse licentivo::Client;
Rubyrequire 'licentivo'

Run protected business through the SDK and close client on exit.

Go · Client licensing
Loading code…

Follow the AI workflow to license your own software →

How to display authorization status

Status and FeatureStatus read locally without requests or waiting for background verification. Use status notifications to update your UI.

StatusMeaning
activeThe last online verification succeeded; local authorization is valid.
offline_validThe local signature is valid; online confirmation has not succeeded since startup.
verification_requiredNo usable signature. Activate or refresh online.
expired / revoked / releasedThe server explicitly denied authorization. Stop protected operations.
quota_exhaustedThis metered request exceeded its allowance; other entitled features remain available.

allowed describes local authorization validity; metered features still request units. lease_valid_until is the signed cache deadline, not final license expiry. code, request_id and retryable identify the error, log reference and whether retry is possible.

See sdk/README.md in the download for each language’s methods, notification callbacks and package usage. The instructions above list package-manager installation by language. The website also provides versioned packages, common installers and offline installation.

Where does this belong in your application?

Application stageWhat to do
On startup or after key entryCall OpenWithLicense (constructor and Start in C++). The SDK activates and starts heartbeats according to the policy.
Before paid featuresPass your callback to RunFeature; use RunMeteredFeature for counters
While the application runsKeep client alive; the SDK sends heartbeats at the policy interval.
On application exitClose / Dispose / Destroy stops heartbeats, returns floating seats and preserves device-bound registrations.
When the user unbindsCall Deactivate, then close client.

Method names in the table identify operations; use the exact names in your language's example. For heartbeats, offline caches and online refresh, see Heartbeats and offline access.