LicenseMan.Sdk
0.1.5
dotnet add package LicenseMan.Sdk --version 0.1.5
NuGet\Install-Package LicenseMan.Sdk -Version 0.1.5
<PackageReference Include="LicenseMan.Sdk" Version="0.1.5" />
<PackageVersion Include="LicenseMan.Sdk" Version="0.1.5" />
<PackageReference Include="LicenseMan.Sdk" />
paket add LicenseMan.Sdk --version 0.1.5
#r "nuget: LicenseMan.Sdk, 0.1.5"
#:package LicenseMan.Sdk@0.1.5
#addin nuget:?package=LicenseMan.Sdk&version=0.1.5
#tool nuget:?package=LicenseMan.Sdk&version=0.1.5
LicenseManager C# SDK
The official C# SDK for the LicenseManager API: issue, manage and validate software licenses. Async client built on HttpClient, for .NET 8 or later, and .NET Standard 2.0 (.NET Framework 4.6.1 or later).
Documentation · API reference · Changelog
Requirements
.NET 8 or later, or any platform implementing .NET Standard 2.0.
Installation
dotnet add package LicenseMan.Sdk
Usage
Create an API key in the LicenseManager app, then create a license after a sale:
using LicenseManager.Api;
using LicenseManager.Client;
using LicenseManager.Model;
var configuration = new Configuration();
configuration.AddApiKey("x-api-key", Environment.GetEnvironmentVariable("LICENSEMANAGER_API_KEY"));
var licenses = new LicensesApi(configuration);
var license = await licenses.CreateLicenseAsync(
"x7Kp2QaZ",
new CreateLicense(email: "jane@example.com")
);
And validate it from your application, which needs no API key:
using LicenseManager.Api;
using LicenseManager.Model;
var licenses = new LicensesApi();
var licenseToken = await licenses.ValidateKeyAsync(
"x7Kp2QaZ",
new ValidateKey(
key: "7KQ2M-X9ZPA-H4TRC-WN6EY-B3JDF",
fingerprint: "4c:32:75:8f:9a:1e",
varVersion: "1.4.2"
)
);
Authentication
Most endpoints take an organization API key: keep it on your servers. The endpoints your application calls directly, like validating a key, take no credentials or a token scoped to a customer, license or machine. See authentication and scoped tokens.
using LicenseManager.Client;
var configuration = new Configuration();
// With an API key, from your backend:
configuration.AddApiKey("x-api-key", Environment.GetEnvironmentVariable("LICENSEMANAGER_API_KEY"));
// Or with a token scoped to a customer, license or machine:
configuration.AccessToken = token;
Errors
Failed requests answer an error with a stable code to branch on, listed for each endpoint in the API reference. See errors.
using LicenseManager.Client;
try
{
await licenses.GetLicenseAsync("l3Nv8KwB");
}
catch (ApiException error)
{
// The body is { "error": { "code", "message" } }.
Console.Error.WriteLine($"{error.ErrorCode} {error.ErrorContent}");
}
Reference
Every method is documented, with its parameters and responses, in the docs folder:
| Class | Methods |
|---|---|
LicensesApi |
ValidateKeyAsync, ListLicensesAsync, CreateLicenseAsync, ListCustomerLicensesAsync, GetLicenseAsync, DeleteLicenseAsync, UpdateLicenseAsync, GetLicenseStatsAsync, SendLicenseKeysAsync, GetSigningKeyAsync |
PortalApi |
GetPortalAsync, RequestPortalLinkAsync, CreatePortalLinkAsync, SendPortalLinkAsync |
ProductsApi |
ListProductsAsync, CreateProductAsync, GetProductAsync, DeleteProductAsync, UpdateProductAsync, ResetProductAsync, UploadProductLogoAsync, DeleteProductLogoAsync, GetProductStatsAsync |
PoliciesApi |
ListPoliciesAsync, CreatePolicyAsync, GetPolicyAsync, DeletePolicyAsync, UpdatePolicyAsync |
CustomersApi |
ListCustomersAsync, CreateCustomerAsync, GetCustomerAsync, DeleteCustomerAsync, UpdateCustomerAsync |
MachinesApi |
ListMachinesAsync, GetMachineAsync, DeactivateMachineAsync |
ReleasesApi |
ListReleasesAsync, CreateReleaseAsync, GetReleaseAsync, DeleteReleaseAsync, UpdateReleaseAsync |
TokensApi |
CreateCustomerTokenAsync, CreateLicenseTokenAsync, CreateMachineTokenAsync |
EventsApi |
ListPolicyEventsAsync, ListLicenseEventsAsync |
IntegrationsApi |
GetStripeIntegrationAsync, ConnectStripeAsync, DisconnectIntegrationAsync, CheckIntegrationAsync, ListStripePricesAsync, CreateStripeMappingAsync, DeleteStripeMappingAsync, UpdateStripeMappingAsync |
Versioning
This SDK follows semantic versioning and is generated from the OpenAPI document of the API: each release is listed in the changelog. Please don't open pull requests, they would be overwritten by the next release: open an issue instead.
License
See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- JsonSubTypes (>= 2.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Polly (>= 8.1.0)
- System.ComponentModel.Annotations (>= 5.0.0)
-
net8.0
- JsonSubTypes (>= 2.0.1)
- Newtonsoft.Json (>= 13.0.3)
- Polly (>= 8.1.0)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.5 | 44 | 10/20/2026 |