> ## Documentation Index
> Fetch the complete documentation index at: https://help.cryptolens.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Extend License

> This method will extend a license by a certain amount of days. If the key algorithm in the product is SKGL, the key string will be changed if necessary....

This method will extend a license by a certain amount of days. If the
[key algorithm](https://help.cryptolens.io/web-interface/skgl-vs-skm15) in the product
is SKGL, the key string will be changed if necessary. Otherwise, if SKM15 is used, the key will stay the same. More about the way this method works in [Remarks](/api-reference/generated/ExtendLicense#remarks).

This method is accessed by [https://api.cryptolens.io/api/key/ExtendLicense](https://api.cryptolens.io/api/key/ExtendLicense)

### Parameters

| **Parameter** | **Description** | **Remarks** |
| - | - | - |
| ProductId | the product id (=\*\*\[ProductId] \*\*) | required |
| Key | the serial key string | required |
| NoOfDays | The number of days the license should be extended. | optional. by default, it's zero. |
| v | Method version. | optional. by default, it's 1. |

### Results

| **Parameter** | **Description** | **Remarks** |
| - | - | - |
| Result | This is either **0**(=success) or **1**(=error). | always returned |
| Message | The message that provides additional information about the result. If it's a successful result, either **null** or the **new key** (if using SKGL) will be returned. Otherwise, in case of an error, a short message will be returned describing the error. | always returned. |

### Example results

```text theme={null}
{"result":0,"message":""}
```

### Remarks

This method works as follows: if the expiration date of a license key has not passed, it will add
the provided number of days to the expiration date. Otherwise it will add the provided number of days to
the current date (i.e. today). A negative number of days will decrease the expiration date.

Let's assume we extend a license with **365** days. This method will ensure that the license will be valid in **365** days from the current day (or more if the license had some additional days left). For example,

* If a key that **has expired** is extended, it will be valid for **365** days from the current date.
* If a key that **has not expired** is extended, let's say it has **20** days left, then it will be valid for **365+20** days.

### Errors

| **Error** |
| - |
| Access denied. |
| The input parameters were incorrect. |
| Could not find the product. |
| Could not find the key. |
