# SaveLicense Method

## Overloads

| [SaveLicense(License, Guid)](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api5.IQMS5.SaveLicense.htm#PIX_Services_V12_Api5_IQMS5_SaveLicense_PIX_QMSAPI_DataObjects_License_System_Guid_) |  | Sets a license on a service. The license includes a LicenseType which is used together with the serviceID parameter to<br>find the correct service. |
| --- | --- | --- |

[](https://help.qlik.com/en-US/qlikview-developer/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api5.IQMS5.SaveLicense.htm) [](https://help.qlik.com/en-US/qlikview-developer/Subsystems/QMSAPIref/Content/PIX.Services.V12.Api5.IQMS5.SaveLicense.htm)

## SaveLicense(License, Guid)

Sets a license on a service. The license includes a LicenseType which is used together with the serviceID parameter to find the correct service.

### Declaration

```

          string SaveLicense(License license, Guid serviceID)
    
  
```

### Parameters

| Type | Name | Description |
| --- | --- | --- |
| [License](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.License.htm) | license | The license to set on the service. |
| System.Guid | serviceID | The ID of the service that should have the license |

### Returns

| Type | Description |
| --- | --- |
| System.String | An empty string is returned if the operation were successful, otherwise an error message is returned. |

### Remarks

If the `license` parameter is a Publisher license, the `serviceID` will be ignored and can be set to Guid.Empty.

##### security

Requires membership of local groups *QlikView Management API* and *QlikView Administrator*.

### Examples

The following code example uses the QMS API to set a new Publisher license.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

```
using System;
using System.Collections.Generic;
using System.Linq;
using QMSAPI;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            //Create the new license
            License newLicense = new License();
            newLicense.LicenseType = LicenseType.Publisher;
            newLicense.Serial = "<A valid serial number>";
            newLicense.Control = "<A valid control number>";
            newLicense.Name = "<Some name>";
            newLicense.Corporation = "<Some corporation>";
            newLicense.LEFFile = System.IO.File.ReadAllText("<Path to LEF file>");

            // create a QMS API client
            IQMS apiClient = new QMSClient();

            //retrieve a time limited service key
            ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey();

            //Set the license
            string result = apiClient.SaveLicense(newLicense, Guid.Empty);

            //Check the result
            if(result != string.Empty)
                Console.WriteLine("License was successfully set.");
            else
                Console.WriteLine("Error when setting the license: " + result);
        }
        catch (Exception ex)
        {
            Console.WriteLine("An exception occurred: " + ex.Message);
        }
        // wait for user to press any key
        Console.ReadLine();
    }
}
```

### See Also

[License](https://help.qlik.com/en-US/qlikview-developer/September2026/Subsystems/QMSAPIref/Content/PIX.QMSAPI.DataObjects.License.htm)