---
title: "Update a license"
method: PATCH
path: "/v3/licenses/{id}"
tags: ["Licenses"]
---

# Update a license

`PATCH /v3/licenses/{id}`

Updates the specified license by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

## Path parameters

- `id` string, required

## Request body

- LicenseUpdateRequestModel
  - `key` string, nullable — The key associated with the license. If left empty, key is auto-generated.
  - `revoked` boolean, nullable — Set true to revoke the license.
  - `suspended` boolean, nullable — Set true to suspend the license.
  - `fingerprintMatchingStrategy` 'fuzzy' | 'exact' | 'loose', nullable — Strategy for matching machine fingerprint.
  - `allowedActivations` integer, nullable — Allowed number of activations for the license. Set to 0 or -1 for unlimited activations.
  - `allowedDeactivations` integer, nullable — Allowed number of deactivations for the license. Set to -1 for unlimited deactivations. This setting is ignored for floating licenses.
  - `leaseDuration` integer, nullable — Duration of lease for floating licenses. Set to 0 or -1 for unlimited lease duration.
  - `allowClientLeaseDuration` boolean, nullable — Allow client to set the lease duration for floating licenses.
  - `allowedFloatingClients` integer, nullable — Allowed number of floating clients for the On-Premise LexFloatServer.
  - `serverSyncGracePeriod` integer, nullable — The duration for which the server sync failure due to network error is acceptable. Set to -1 for an unlimited grace period.
  - `serverSyncInterval` integer, nullable — The interval at which license data in client is synced with the server.
  - `allowedClockOffset` integer, nullable — The allowed clock offset between the network time and the local time. Set to -1 to disable clock validation checks.
  - `disableClockValidation` boolean, nullable — Disables clock validation checks on the licensed machine for perpetual licenses.
  - `cryptoBindingEnabled` boolean, nullable — Whether crypto binding is enabled for the license.
  - `expiringSoonEventOffset` integer, nullable — Specifies the offset in seconds before the license's expiration date or the license's maintenance expiration date at which the 'license.expiring-soon' or 'license.maintenance-expiring-soon' webhook event is triggered. This early warning ensures that clients are alerted in advance to take necessary actions before the license or license maintenance expires.
  - `allowVmActivation` boolean, nullable — Indicates whether activation is permitted within a virtual machine environment. Setting this to true allows the license to be activated in virtual machines, which may be necessary for certain deployment scenarios.
  - `allowContainerActivation` boolean, nullable — Indicates whether activation is permitted within a container environment. Setting this to true allows the license to be activated in containers, which is essential for modern cloud-native applications.
  - `disableGeoLocation` boolean, nullable — Whether IP address and geo-location should be stored.
  - `notes` string, nullable — Notes to store with the license.
  - `allowedIpRanges` string[], nullable — Allowed IP ranges. Leave empty to ignore.
  - `allowedCountries` string[], nullable — List of the allowed countries. Leave empty to ignore.
  - `disallowedCountries` string[], nullable — List of the disallowed countries. Leave empty to ignore.
  - `allowedIpAddresses` string[], nullable — List of the allowed ip addresses. Leave empty to ignore.
  - `disallowedIpAddresses` string[], nullable — List of the disallowed ip addresses. Leave empty to ignore.
  - `userId` string, nullable — Unique identifier for the user.
  - `resellerId` string, nullable — Unique identifier for the reseller user.
  - `organizationId` string, nullable — Unique identifier for the organization.
  - `additionalUserIds` string[], nullable — Unique identifier for the additional users.
  - `productVersionId` string, nullable — Unique identifier for the product version.
  - `entitlementSetId` string, nullable — Unique identifier for the Entitlement Set.
  - `maintenancePolicyId` string, nullable — Unique identifier for the maintenance policy.
  - `maxAllowedReleaseVersion` string, nullable — The max allowed release version. This property is ignored if maintenance policy is set for the license. Only following three formats are allowed x.x, x.x.x, x.x.x.x.
  - `tags` string[], nullable — List of tags.
  - `metadata` LicenseMetadataRequestModel[], nullable — List of metdata key/value pairs.
    - `key` string, required — Name of the key.
    - `value` string, required — Value of the key.
    - `viewPermissions` ViewPermission[], nullable — Array of view permissions associated with the metadata.
    - `visible` boolean, nullable — Set true to access the metadata on activation.
  - `meterAttributes` LicenseMeterAttributeRequestModel[], nullable — List of metered attributes.
    - `name` string, required — Name of the attribute.
    - `allowedUses` integer, required — Allowed number of uses for the attribute. Set to -1 for unlimited usage.
    - `viewPermissions` ViewPermission[], nullable — Array of view permissions associated with the meter.
    - `visible` boolean, nullable — Set true to make the meter attribute visible to the user.
    - `floating` boolean, nullable — Set true to make the meter attribute floating.

## Response `200`

OK

- LicenseDto
  - `id` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `key` string, required
  - `revoked` boolean, required
  - `suspended` boolean, required
  - `perpetual` boolean, required
  - `totalActivations` integer, required
  - `totalDeactivations` integer, required
  - `validity` integer, nullable
  - `expirationStrategy` 'immediate' | 'delayed' | 'rolling', nullable
  - `subscriptionInterval` string, nullable
  - `subscriptionStartTrigger` 'creation' | 'activation'
  - `fingerprintMatchingStrategy` 'fuzzy' | 'exact' | 'loose', required
  - `allowedActivations` integer, required
  - `allowedDeactivations` integer, required
  - `type` 'node-locked' | 'hosted-floating' | 'on-premise-floating', required
  - `allowedFloatingClients` integer, required
  - `serverSyncGracePeriod` integer, required
  - `serverSyncInterval` integer, required
  - `allowedClockOffset` integer, required
  - `cryptoBindingEnabled` boolean, required
  - `disableClockValidation` boolean, required
  - `expiringSoonEventOffset` integer, required
  - `leaseDuration` integer, required
  - `leasingStrategy` 'per-machine' | 'per-instance', required
  - `effectiveDate` string, date-time, nullable
  - `expiresAt` string, date-time, nullable
  - `activatedAt` string, date-time, nullable
  - `lastUsedAt` string, date-time, nullable
  - `allowVmActivation` boolean, required
  - `allowContainerActivation` boolean, required
  - `allowClientLeaseDuration` boolean, required
  - `userLocked` boolean, required
  - `requireAuthentication` boolean, required
  - `disableGeoLocation` boolean, required
  - `notes` string, nullable
  - `productId` string, required
  - `entitlementSetId` string, nullable
  - `productVersionId` string, nullable
  - `maintenancePolicyId` string, nullable
  - `maintenanceExpiresAt` string, date-time, nullable
  - `currentReleaseVersion` string, nullable
  - `maxAllowedReleaseVersion` string, nullable
  - `organizationId` string, nullable
  - `organization` OrganizationDto
    - `id` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `organizationAlias` string, nullable
    - `name` string, required
    - `email` string, required
    - `description` string, required
    - `allowedUsers` integer, required
    - `address` AddressDto, required
      - `addressLine1` string, nullable
      - `addressLine2` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `country` string, nullable
      - `postalCode` string, nullable
    - `resellerId` string, nullable
    - `reseller` ResellerDto
      - `id` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `name` string, required
      - `email` string, required
      - `description` string, required
      - `allowedUsers` integer, required
      - `allowedOrganizations` integer, required
  - `userId` string, nullable
  - `user` UserDto
    - `id` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `name` string, required
    - `firstName` string, required
    - `lastName` string, required
    - `email` string, required
    - `role` string, required
    - `twoFactorEnabled` boolean, required
    - `googleSsoEnabled` boolean, required
    - `lastLoginAt` string, date-time, nullable
    - `company` string, nullable
    - `allowCustomerPortalAccess` boolean, required
    - `roles` string[], required
    - `lastSeenAt` string, date-time, nullable
    - `organizationId` string, nullable
    - `organization` OrganizationDto
      - `id` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `organizationAlias` string, nullable
      - `name` string, required
      - `email` string, required
      - `description` string, required
      - `allowedUsers` integer, required
      - `address` AddressDto, required
        - `addressLine1` string, nullable
        - `addressLine2` string, nullable
        - `city` string, nullable
        - `state` string, nullable
        - `country` string, nullable
        - `postalCode` string, nullable
      - `resellerId` string, nullable
      - `reseller` ResellerDto
        - `id` string, required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `name` string, required
        - `email` string, required
        - `description` string, required
        - `allowedUsers` integer, required
        - `allowedOrganizations` integer, required
    - `resellerId` string, nullable
    - `reseller` ResellerDto
      - `id` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `name` string, required
      - `email` string, required
      - `description` string, required
      - `allowedUsers` integer, required
      - `allowedOrganizations` integer, required
    - `metadata` AdminMetadataDto[], required
      - `id` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `key` string, required
      - `value` string, nullable
      - `viewPermissions` ViewPermission[], required
      - `visible` boolean, required
    - `tags` string[], required
  - `resellerId` string, nullable
  - `reseller` ResellerDto
    - `id` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `name` string, required
    - `email` string, required
    - `description` string, required
    - `allowedUsers` integer, required
    - `allowedOrganizations` integer, required
  - `additionalUserIds` string[], required
  - `allowedIpRange` string, nullable
  - `allowedIpRanges` string[], required
  - `allowedIpAddresses` string[], required
  - `disallowedIpAddresses` string[], required
  - `allowedCountries` string[], required
  - `disallowedCountries` string[], required
  - `metadata` AdminMetadataDto[], required
    - `id` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `key` string, required
    - `value` string, nullable
    - `viewPermissions` ViewPermission[], required
    - `visible` boolean, required
  - `meterAttributes` AdminLicenseMeterAttributeDto[], required
    - `id` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `name` string, required
    - `allowedUses` integer, required
    - `totalUses` integer, required
    - `grossUses` integer, required
    - `floating` boolean, required
    - `viewPermissions` ViewPermission[], required
    - `visible` boolean, required
  - `tags` string[], required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests
- `500` — Server Error

---

[API](https://skmtc.net/cryptlex/apis/cryptlex-web-api.md) · [All operations](https://skmtc.net/cryptlex/apis/cryptlex-web-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cryptlex/cryptlex-web-api/versions/ec1259c12475/schema)
