# .NET/C# Management SDK

### ZIP File Includes

* SDK: .NET versions 3.5; 4.0; 4.5; 4.5.1; 4.5.2; 4.6; 4.6.1; 4.6.2; 4.7; 4.7.1; 4.7.2; 4.8; .NET Standard 2.0, .NET Standard 2.1, .Net5, .Net6, .Net7, .Net8
* Code Samples for Console apps, ASP.Net app
* Documentation
* Release notes

[**LicenseSpringManagement.NetSDKv1.16.1.zip**](https://sdk.licensespring.com/.NET-Management-SDK/v1.16.1/LicenseSpringManagement.NetSDK-v1.16.1.zip)

### Release Notes

#### March 25, 2026, v1.16.1

* Fixed an issue when querying products with features inserted through the API.

#### March 13, 2026, v1.16.0

* Create licenses using license policies (see console sample).

#### November 18, 2025, v1.15.0

* Added `MaintenancePeriod` property to `ILicenseDetails`, `LicenseDetails`, and `UpdateLicenseRequestDto`.

#### November 11, 2025, v1.14.2

* Fixed a bug where `LicenseDetails.MaxTransfers` type was uint instead of int, as value of -1 is used to prevent device transfers.

#### October 7, 2025, v1.14.1

* Fixed an issue with exception handling when the server returns an invalid exception code; now the correct `LicenseSpringException` will be thrown.

#### September 20, 2025, v1.14.0

* Enabled creating licenses with product features - please check `ManagementConsoleSample` project, `ManagementSample.CreateProductFeatures()` method.
* Added `ProductFeature(string code)` constructor to `ProductFeature`.
* Added setters to `ProductFeature` properties.

{% hint style="info" %}
Note: Product features with invalid codes are ignored by the API. If a non-existent feature code is provided, the license will be created without that feature.

Note 2: `ProductFeature` objects passed to the `LicenseDetails.ProductFeatures` array are decoupled, meaning you can't edit them once you pass them to the setter. If you need to update the values always create and pass a new array.
{% endhint %}

#### August 19, 2025, v1.13.0

* Added filters to `ListLicensesRequestDto`:
  * `OrderCustomerAccount`
  * `OrderCustomerAccountName`
  * `OrderCustomerAccountNameContains`
  * `OrderCustomerAccountCode`
  * `OrderCustomerAccountCodeContains`

#### July 17, 2025, v1.12.0

* Added `StartDate` property to `ILicense`.
* Added `CustomerAccountCode` filter to `ListLicensesRequestDto`.

#### May 14, 2025, v1.11.0

* Added `Metadata` properties where applicable.
* Updated console sample.

#### April 5, 2024, v1.10.1

* Fixed duplicate `custom_fields` members in `LicenseDetails`.
* Updated console sample.

#### March 7, 2024, v1.10.0

* Added `Note` property to `LicenseDetails.cs` and `Order.cs`.
* Updated console sample.

#### March 5, 2024, v1.9.1

* Fixed null reference exception in `Order` constructor.
* Fixed faulty exact email filter on customer.
* Expanded console sample.
* Added .NET 8 target build.

#### July 4, 2023, v1.9.0

* Added `CreateInstallationFileDto.Channel` and `CreateInstallationFileDto.Enabled` fields.
* Added .NET 6 and 7 target builds.

#### April 14, 2023, v1.8.0

* Added `ListCustomerAccounts`, `CreateCustomerAccount`, `EditCustomerAccount`, `DeleteCustomerAccount`, `MergeCustomers` functions to `CustomerService` class.
* Added `DeviceService.BorrowDevice` feature.
* Added `ListActivationHistories`, `ListUsageHistories` functions to `LicenseService` class.
* Added `OrderService.UpdateOrder` and `OrderService.RemoveManagerFromOrder` features.
* Fixed updating licenses issue.

#### December 23, 2022, v1.7.0

* Added `ConsumptionPeriod` class.
* Fixed issues in:
  * `CountLicenseTransfers` method
  * `CustomerService` class
  * `AddLabelToCustomer` method
  * `UpdateCustomer` method
* Implemented `LicenseService.DeleteLicense`, `LicenseService.CheckLicense`, `LicenseService.SetUserPassword` methods. Removed obsolete methods.
* Fixed issue in `LicenseService.SaveLicenseByKey` method.
* Added consumption-related fields to `ProductFeature` class.
* Added minor fixes to the `ManagementSample`.

#### October 25, 2021, v1.6.0

* Updated `ManagementConsoleSample` for creating key-based and user-based licenses, updating the licenses and assigning license users.
* Updated `UserBasedLicenseSample` for creating user-based license without users and assigning a license user.
* Created methods for:
  * Assigning managers to orders: `AddManagerToOrder`
  * Counting license transfers: `CountLicenseTransfers`
  * Creating and updating license custom fields: `CreateLicenseCustomField`, `UpdateLicenseCustomField`
  * Listing and updating license users: `ListLicenseUsers`, `UpdateLicenseUser`
  * Assigning and removing labels from customers: `AddLabelToCustomer`, `RemoveLabelFromCustomer`
  * Retrieving, creating, updating and deleting customer labels: `ListCustomerLabels`, `CreateCustomerLabel`, `EditCustomerLabel`, `DeleteCustomerLabel`

#### October 7, 2021, v1.5.1

* Fixed issues in `AssignUser` function.
* Created `UserBasedLicenseSample` demonstrating SDK usage for creating user-based licenses and assigning license users.

#### October 4, 2021, v1.5.0

* Removed unused options from `ManagementConfiguration` and `ManagementExtendedOptions`. Removed unused classes and exceptions.
* Updated Logger, added documentation to Dto classes.
* Created methods for:
  * Assigning users to licenses: `AssignUser`
  * Unassigning users from licenses: `UnassignUser`
  * Setting user passwords: `SetUserPassword`

#### August 31, 2021, v1.4.0

* Added new fields to the License class: `FloatingInUseDevices`, `LicenseUsers`, `OrderStoreId`, `ActiveUpToDateDevices`, `TotalActiveDevices`, `CreatedAt`, `UpdatedAt`, `TimeActivated`, `TimeDisabled`, `EnableMaintenancePeriod`, `SubscriptionId`, `LastCheck`, `PreventVm`, `ResetConsumption`, `ConsumptionPeriod`, `TrialDays`, `Note`, `MaxLicenseUsers`, `TransferCount`, `Order`, `OrderItem`, `DisabledUser`, `LastActivationDevice`.
* Updated samples `ManagementConsoleSample`, `UpdateLicenseOfflineSample`.

#### August 2, 2021, v1.3.0

* Created methods for:
  * Resetting consumptions on licenses: `ResetConsumptions`
  * Creating and deleting customers: `CreateCustomer`, `DeleteCustomer`
  * Getting information about device variables: `ListDeviceVariables`
  * Getting information about product installation files, features and custom fields: `ListInstallationFiles`, `ListProductFeatures`, `ListProductCustomFields`
  * Creating, updating and deleting product custom fields: `CreateProductCustomField`, `UpdateProductCustomField`, `DeleteProductCustomField`
  * Creating, updating and deleting product features: `CreateProductFeature`, `UpdateProductFeature`, `DeleteProductFeature`
  * Creating, updating and deleting device variables: `CreateDeviceVariable`, `UpdateDeviceVariable`, `DeleteDeviceVariable`
  * Creating installation files: `CreateInstallationFile`
  * Deleting license custom fields: `DeleteLicenseCustomField`

#### July 22, 2021, v1.2.0

* Created methods for:
  * Resetting licenses: `ResetLicense`
  * Resetting and blacklisting devices: `ResetDevice`, `BlacklistDevice`
* Updated creation of files for offline license updating.
* Updated samples `ManagementConsoleSample`, `UpdateLicenseOfflineSample`.

#### June 29, 2021, v1.1.0

* Created methods for:
  * Updating license information: `UpdateLicense`, `UpdateLicenseProductFeatures`
  * Enabling and disabling licenses: `EnableLicense`, `DisableLicense`, `DisableLicenseWithDevices`
* Created `ASP.NetManagementSample` demonstrating SDK usage in ASP.Net applications

#### May 20, 2021, v1.0.0

* Created methods for:
  * Retrieving and saving license information: `ListLicenses`, `ListLicenseCustomFields`, `SaveLicenseByKey`
  * Creating orders: `GenerateLicenseKey`, `CreateOrder`
  * Getting information about orders: `ListOrders`, `ListOrderLicenses`, `ListManagersOnOrder`
  * Getting information about devices: `ListDevices`
  * Getting information about products: `ListProducts`
  * Getting and editing information about customers: `ListCustomers`, `EditCustomer`
* Created management SDK samples:
  * `ManagementConsoleSample` demonstrating usage of the SDK methods.
  * `UpdateLicenseOfflineSample` demonstrating creation of a file for updating license offline.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.licensespring.com/sdks/.net-c-management-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
