# License API changelog

#### v4.1.69 (07.05.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🔵 **Added**\
> Check for existing device variables sent on `/track_device_variables` endpoint

#### v4.1.68 (05.05.2026.) <a href="#mfgfl" id="mfgfl"></a>

> :purple\_circle: **Fixed**\
> `allow_unlimited_consumptions` support on product features for trial licenses

> :purple\_circle: **Fixed**
>
> Issues with `/track_device_variables` endpoint causing deadlocks

#### v4.1.67 (24.04.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🔵 **Added**\
> Support for local licenses and local license servers

#### v4.1.63 (08.04.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🔵 **Added**\
> Support for rotated OAuth secret on checkLicense and checkBundle endpoints

> 🟣 **Fixed**\
> Activation of user based bundle sub-licenses not working

> :purple\_circle: **Fixed**
>
> Removed extra:license-start-date company feature flag check

#### v4.1.62 (30.03.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🔵 **Added**
>
> Support for rotated client secret on OAuth authentication

#### v4.1.61 (19.03.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🔵 **Added**
>
> Offline deactivation anti-tempering

> :blue\_circle: **Added**
>
> Company feature flags: maintenance, product-versioning, max-activations, license-start-date, floating-features, account-based-licensing, OAuth

#### Revert to v4.1.57 (10.03.2026.) <a href="#mfgfl" id="mfgfl"></a>

> :white\_circle: **Revert**\
> Total activations calculating correctly for user based bundle licenses is breaking user flows

#### v4.1.58 (09.03.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🟣 **Fixed**\
> Total activations calculating incorrectly for user based bundle licenses

#### v4.1.57 (04.03.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🟣 **Fixed**\
> Bug with validating `expiry_date` **null** value for product features on order creation

#### v4.1.56 (04.03.2026.) <a href="#mfgfl" id="mfgfl"></a>

> 🔵 **Added**\
> Added support for `is_default` redirect URI on Customer Account SSO provider

#### v4.1.55 (27.02.2026.) <a href="#mfgfl" id="mfgfl"></a>

> :purple\_circle: **Fixed**
>
> `/api/v4/floating/feature_borrow`  post-borrow response which contained incorrect value for `max_borrow_time`

#### v4.1.54 (20.02.2026.) <a href="#mfgfl" id="mfgfl"></a>

> :green\_circle: **Improved**
>
> Loosened order creation validation for backwards compatibility with legacy SDK

#### v4.1.53 (19.02.2026.) <a href="#mfgfl" id="mfgfl"></a>

> :blue\_circle: **Added**
>
> Support for `Idempotency-Key` headers for caching/deduplicating requests

> :green\_circle: **Improved**
>
> Expanded create order request validation

#### v4.1.51 (12.02.2026.) <a href="#mfgfl" id="mfgfl"></a>

> :purple\_circle: **Fixed**
>
> A fix has been added to device-variables feature flag check to skip the check on requests with device variables {}

#### v4.1.50 (11.02.2026.) <a href="#id-3kdk" id="id-3kdk"></a>

> :blue\_circle: **Added**
>
> Company feature flags: device-variables, metadata, prevent-vm, max-transfers, feature-licensing-activation, feature-licensing-consumption, feature-expiry-date

#### v4.1.49 (04.02.2026.) <a href="#smvp5" id="smvp5"></a>

> :blue\_circle: **Added**
>
> Functionality and endpoint for /floating/feature\_borrow

> :blue\_circle: **Added**
>
> installation\_file object to license and bundle activation (online and offline) responses

> :blue\_circle: **Added**
>
> Event logging for consumptions and variables if they're sent in oflfine deactivation

> :blue\_circle: **Added**
>
> Feature flag checks for: model:consumption, model:perpetual, model:subscription, model:time-limited, model:trial, model:floating-cloud

> :purple\_circle: **Fixed**
>
> An error response in license/bundle offline deactivation when consumptions were sent beyond the alotted consumption limit

#### **v4.1.48** *(22.01.2026)*

> 🟣 **Fixed**\
> A bug where `user_licenses` performed incorrect product filtering.

***

#### **v4.1.47** *(21.01.2026)*

> 🟣 **Fixed**\
> A bug where order creation could generate licenses with `validity_period = "0000-00-00"`.

> 🟣 **Fixed**\
> An issue where `user_licenses` did not return licenses when the requested product code belonged to a bundle.

***

#### **v4.1.46** *(15.01.2026)*

> 🟢 **Improved**\
> Relaxed variables validation in deactivation endpoints for legacy compatibility.

***

#### **v4.1.45** *(12.01.2026)*

> 🔵 **Added**\
> Integrated Platform feature flag checks.

> 🔵 **Added**\
> Permission checks for creating key-based and user-based licenses during order creation.

> 🔵 **Added**\
> Support for multiple redirect URIs in SSO.

> 🟣 **Fixed**\
> A hardware key validation bug in `activate_bundle_offline`.

***

### 🗓️ 2025

#### **v4.1.44** *(17.12.2025)*

> 🔵 **Added**\
> SSO user authentication to the `/floating/borrow` endpoint.

> 🟣 **Fixed**\
> A regression where user lists on bundle order items were ignored.

> 🟣 **Fixed**\
> Incorrect license validity duration and period calculation during activation.

***

#### **v4.1.43** *(09.12.2025)*

> 🟣 **Fixed**\
> An issue causing `product_version_not_supported` errors for Floating Server activations with associated installation files.

***

#### **v4.1.42** *(08.12.2025)*

> 🟣 **Fixed**\
> Incorrect license policy selection during order creation.

> 🟣 **Fixed**\
> Transfer limits being checked for licenses with unlimited activations.

> 🟣 **Fixed**\
> Missing sub-licenses in bundled responses from `user_licenses`.

***

#### **v4.1.39** *(25.11.2025)*

> 🟣 **Fixed**\
> Parsing of non-standard `Date` header strings.

***

#### **v4.1.35** *(04.11.2025)*

> 🔵 **Added**\
> Implemented global features and global feature groups.

> 🔵 **Added**\
> Implemented the `/.well-known` endpoint.

> 🟣 **Fixed**\
> License template custom fields being ignored during order creation.

***

#### **v4.1.34** *(23.10.2025)*

> 🔵 **Added**\
> Checks for `company.is_active`.

> 🔵 **Added**\
> Support for the `note` property on licenses during order creation.

> 🟣 **Fixed**\
> A concurrency issue in order creation.

***

#### **v4.1.33** *(14.10.2025)*

> 🔵 **Added**\
> Event notifications for `license.checked` and `license.released`.

> 🔵 **Added**\
> &#x20;`floating_in_use_devices` to license responses.

> 🟣 **Fixed**\
> Enum custom field validation during order creation.

***

#### **v4.1.31** *(25.09.2025)*

> 🔵 **Added**\
> Enforced company-wide Schema v2 requests.

***

#### **v4.1.30** *(16.09.2025)*

> 🔵 **Added**\
> Schema v2 request support with full-payload signatures.

> 🔵 **Added**\
> Support for non-Base64 JSON payloads in offline activation and deactivation.

> 🟣 **Fixed**\
> Customer data updates when modifying existing orders.

***

#### **v4.1.29** *(09.09.2025)*

> 🔵 **Added**\
> A new error message for users temporarily locked out after failed authentications.

> 🟣 **Fixed**\
> License check issues for Floating Server v2.

***

#### **v4.1.28** *(01.09.2025)*

> 🟣 **Fixed**\
> Customer metadata being overwritten during order creation.

***

#### **v4.1.27** *(27.08.2025)*

> 🔵 **Added**\
> `installation_file_id` to all license responses.

> 🔵 **Added**\
> &#x20;`append_product` as an optional parameter to the license webhook.

> 🔵 **Added**\
> A 30-second tolerance to `borrow_until` in `/floating/borrow`.

> 🟣 **Fixed**\
> `trial_created` events triggering for non-trial licenses.

***

<details>

<summary>Full history (2019–2025)</summary>

### v4.1.26 (18.07.2025.)

* 🟣 Fixed: A bug in order creation where license policies would get mixed up for multiple orders containing different policies with the same policy code

### v4.1.23 (15.07.2025.)

* 🔵 Added: Implemented product feature groups in order creation
* 🔵 Added: Support for product features and custom fields for bundles in order creation
* 🟣 Fixed: A bug with total\_activations count for multiple license users sharing the same device
* 🟣 Fixed: A race condition bug in license deactivation
* 🟣 Fixed: A race condition bug in floating borrow and floating release

### v4.1.22 (17.06.2025.)

* 🔵 Added: Implemented `allow_offline_activation` in licenses and license templates
* 🔵 Added: Implemented `activation_type` in license devices
* 🔵 Added: `openid_configuration` values added to `/sso_url` response
* 🟣 Fixed: A concurrency bug in license activation

### v4.1.21 (10.06.2025.)

* 🔵 Added: `company: { id }` field to activation responses

### v4.1.20 (09.06.2025.)

* 🟣 Fixed: Validation for `deactivate_bundle_offline` endpoint

### v4.1.18 (26.05.2025.)

* 🔵 Added: Webhook events for device variable changes
* 🔵 Added: `max_activations` for user object in order create endpoint
* 🔵 Added: `company` object repsonse to all endpoints that return a JSON response
* 🟣 Fixed: A bug with hardware keys when a single key is used accross multiple company accounts

### v4.1.17 (20.05.2025.)

* 🔵 Added: Support for fixed custom field values in order and trial creation
* 🔵 Added: `is_expired` to license activation responses
* 🟣 Fixed: Missing user info in license activation history
* 🟣 Fixed: `app_ver` parameter being ignored during license activation

### v4.1.16 (15.05.2025.)

* 🟣 Fixed: License keys being incorrectly assigned to sub-licenses in bundle orders

### v4.1.15 (08.05.2025.)

* 🟣 Fixed: An incorrect error message for validation errors for JSON payload in offline endpoints
* 🟣 Fixed: Notification event max\_consumptions\_perc\_reached

### v4.1.14 (07.05.2025.)

* 🔵 Added: Implemented support for combined bundle and non-bundle orders in a single order creation request
* 🔵 Added: Implemented support for licensepring-hardware-key for OAuth requests
* 🔵 Added: New webhook events license\_product\_feature.updated and license\_custom\_field.created
* 🔵 Added: Notification events max\_feature\_consumptions\_reached and max\_feature\_consumptions\_perc\_reached
* 🔵 Added: Implemented support for installation\_file in order creation
* 🟣 Fixed: An incorrect error message for validation errors for JSON payload in offline endpoints
* 🟣 Fixed: Notification event max\_consumptions\_perc\_reached

### v4.1.13 (25.04.2025.)

* 🟣 Fixed: A bug with incorrectly calculated overages for consumptions

### v4.1.12 (23.04.2025.)

* 🔵 Added: Product\_details object to device\_licenses endpoint response

### v4.1.11 (22.04.2025.)

* 🔵 Added: Implemented transactionalized license/bundle activation and consumption actions
* 🔵 Added: Implemented installation\_file\_id logic in order webhook
* 🟢 Improved: Validation schema for order webhook

### v4.1.10 (17.04.2025.)

* 🟣 Fixed: An issue with check\_license containing installation file values from older installation files

### v4.1.9 (11.04.2025.)

* 🟢 Improved: Integrated improved checks for activation and consumption limits

### v4.1.3 (10.04.2025.)

* 🟣 Fixed: An error on user\_licenses endpoint that occured when the optional product parameter was provided

### v4.1.2 (09.04.2025.)

* 🟣 Fixed: Validation hotfix for boolean query parameters written in non-lowercase

### v4.1.1 (08.04.2025.)

* 🟢 Improved: Performance improvements across API
* 🟢 Improved: Stricter schema validation across API
* 🟣 Fixed: Partial activation of bundle licenses on online and offline bundle activation endpoints

### v4.0.43 (20.02.2025.)

* 🟢 Improved: Error message when creating license device fails
* 🟣 Fixed: Offline signature in offline activation response for OAuth payloads

### v4.0.42 (19.02.2025.)

* 🔵 Added: Implemented OAuth functionality

### v4.0.41 (17.02.2025.)

* 🟣 Fixed: `is_initial_password` not being updated on password change

### v4.0.40 (10.02.2025.)

* 🔵 Added: Implemented `activate_bundle_offline` endpoint
* 🔵 Added: Implemented `env` parameter in `check_license` and `product_details` endpoints
* 🔵 Added: Implemented `offline_floating_consumptions_sync` event in `add_consumption` and `add_feature_consumption` endpoints
* 🔵 Added: Implemented a check for `allow_negative_consumptions` during license deactivation: negative consumption value will not be applied during deactivation if the license does not support negative consumptions
* 🟣 Fixed: `customer_account_id` logic to ensure provided customer and customer\_account values are consistent if they already exist in db
* 🟣 Fixed: Signature header in `sso_url` to calculate the signature of the entire payload and not just the url string
* 🟢 Improved: Validation error messages to return expected request payload schema

### v4.0.39 (23.01.2025.)

* 🔵 Added: Integrated customer account association for orders using `customer_account_id` and `add_to_customer_account` in order webhook

### v4.0.37 (13.01.2025.)

* 🟣 Fixed: Missing user fields in license responses

### v4.0.36 (08.01.2025.)

* 🟣 Fixed: An error in the add\_consumption endpoint

### v4.0.35 (08.01.2025.)

* 🔵 Added: Implemented keycloak integration in all API endpoints
* 🟢 Improved: Optimized license webhook key generation

### v4.0.34 (12.12.2024.)

* 🔵 Added: Implemented `products` endpoint
* 🔵 Added: Implemented `device_licenses` endpoint
* 🔵 Added: Implemented `activate_bundle` endpoint
* 🟢 Improved: `product` parameter made optional in `user_licenses` endpoint

### v4.0.33 (28.11.2024.)

* 🔵 Added: Implemented SSO authentication on `get user licenses` endpoint
* 🟣 Fixed: Incorrect error message in `get user licenses` endpoint when authentication data is correct but user is not assigned to requested product
* 🟣 Fixed: Handling customer ID in order create webhook
* 🟣 Fixed: Added missing `allow_negative_consumptions` property to feature consumption endpoint

### v4.0.32 (20.11.2024.)

* 🟣 Fixed: A bug in order creation where customer.id could be manually overriden in the request data

### v4.0.31 (31.10.2024.)

* 🟣 Fixed: A bug where trial\_days field was missing in license activation response for licenses with enabled trial
* 🟣 Fixed: A bug where allow\_negative\_consumptions field was missing on consumption license response

### v4.0.30 (09.10.2024.)

* 🟢 Improved: Expanded validation for order create endpoint to ensure top-level product is a bundle and fields specific to key/user-based licenses can only be sent with the appropriate license type
* 🟣 Fixed: A bug where floating slots could be reserved with an expired license
* 🟣 Fixed: A bug where a license with multiple activations and no device transfers could only be activated once
* 🟣 Fixed: A bug where negative feature consumptions could be sent for a license where feature consumptions did not allow negative values

### v4.0.29 (19.09.2024.)

* 🔵 Added: Implemented support for consumption notifications when consumption amount passes thresholds defined by notification policies
* 🔵 Added: Implemented the alphabet parameter in the key generator which allows specifying which characters are used to generate license keys
* 🔵 Added: Trial notifications for trial licenses during order creation
* 🔵 Added: Implemented support for negative consumptions and license policies allowing negative consumptions
* 🟢 Improved: Reworked device count to avoid problems with devices being incorrectly enumerated after license reset
* 🟢 Improved: Calculating total activations, consumptions and transfers to avoid a concurrency bug when a large number of concurrent requests occured on the same license
* 🟣 Fixed: A bug where license keys were being generated on user-based licenses
* 🟣 Fixed: A bug where floating borrow was allowed using expired licenses

### v4.0.28 (29.08.2024.)

* 🔵 Added: Expanded order creation endpoint to allow for more flexible parameter overriding and setting initial values when creating bundle orders
* 🔵 Added: Check for allowed license types when creating bundle orders
* 🟣 Fixed: Filtering by licenseID for bundle orders
* 🟣 Fixed: Incorrect password validation in user\_licenses endpoint
* 🟣 Fixed: A bug in request validation schema

### v4.0.27 (25.07.2024.)

* 🔵 Added: `user_licenses` endpoint to return a list of licenses for a given user
* 🔵 Added: `license_id` parameter as an optional filter to all endpoints that work with licenses
* 🟣 Fixed: A bug in request validation schema

### v4.0.26 (27.06.2024.)

* 🔵 Added: `validity_period` attribute to license policies
* 🟣 Fixed: A bug that would fetch the incorrect license when activating/deactivating user-based bundle licenses without a provided bundle code
* 🟣 Fixed: A bug causing duplicate IDs during order creation in the order webhook

### v4.0.25 (24.06.2024.)

* 🟣 Fixed: An error message being returned while activating trial license for user-based licenses

### v4.0.24 (21.06.2024.)

* 🔵 Added: Support for optional `policy_code` parameter to order webhook
* 🔵 Added: Support for device variables in activation payloads for activate\_license and activate\_offline endpoints
* 🔵 Added: Optional `key_length` parameter to license webhook to allow for increased license key length
* 🟢 Improved: Key generator by increasing cap for maximum number of keys generated per request to 10.000
* 🟣 Fixed: A bug where a user with multiple user-based bundle licenses could not activate the correct license
* 🟣 Fixed: Restored the missing `address` field in license customer info

### v4.0.23 (04.06.2024.)

* 🔵 Added: Support for `licensepring-hardware-key` in offline license payloads
* 🔵 Added: Optional `include_metadata_string` parameter to endpoints to return `metadata` values as serialized JSON strings in `metadata_string`

### v4.0.22 (21.05.2024.)

* 🟢 Improved: Added `is_air_gapped` field to license activation and check response
* 🔵 Added: Support for `licensespring-hardware-key` header

### v4.0.21 (06.05.2024.)

* 🟣 Fixed: Sending `max_consumption` to license feature consumption analytics

### v4.0.20 (23.04.2024.)

* 🔵 Added: `trial_days` to license response on check\_license if license is in trial
* 🔵 Added: Support for `enabled` field on create\_order logic

### v4.0.19 (02.04.2024.)

* 🔵 Added: `bundle_code` for user based bundle licenses

### v4.0.18 (19.03.2024.)

* 🔵 Added: License events for Events API
* 🔵 Added: Add `disabled_product` and `archived_product` to the list of errors
* 🟢 Improved: Expanded customer Events API data

### v4.0.17 (06.03.2024.)

* 🔵 Added: Support for `customer.updated` event
* 🟢 Improved: Date header verification

### v4.0.16 (21.02.2024.)

* 🟢 Improved: Metadata can be set both as a JSON string literal and JSON object format.
* 🔵 Added: Metadata returned inside offline activation response

### v4.0.15 (06.02.2024.)

* 🔵 Added: Support for `webhooks`

### v4.0.13 (09.12.2023.)

* 🔵 Added: `include_expired_feature` to `check_license` endpoint
* 🟣 Fixed: Activating user based product bundle licenses

### v4.0.11 (21.11.2023.)

* 🟢 Improved: Added `include_latest_version` and `include_custom_fields` to `product_details` endpoint

### v4.0.10 (07.11.2023)

* 🟢 Improved: Implemented floating cloud license features
* 🟣 Fixed: Remove `extra` field from analytics activity

### v4.0.8 (18.09.2023.)

* 🔵 Added: Using `integrations` table to support Stripe integration
* 🟣 Fixed: Saving anayltics data when `trial_key` request fails
* 🟣 Fixed: Parsing `os_ver` and `mac_address` query params

### v4.0.7 (07.09.2023.)

* 🟢 Improved: Deployment improvements

### v4.0.6 (27.07.2023.)

* 🟣 Fixed: Keygen timeouts on large number of concurrent keygen requests

### v4.0.4 (06.07.2023.)

* 🟢 Improved: Return error message on order create if `license users` contains a higher number of users than `max_license_users` allow
* 🟣 Fixed: `customer_license_users` endpoint and `product` query param filter

### v4.0.3 (21.06.2023.)

* 🟣 Fixed: Ignore `validity_period` if perpetual and consumption type licenses are not in trial

### v4.0.2 (19.06.2023.)

* 🟢 Improved: Optimization to the deployment process
* 🟣 Fixed: Logger invocation when activating an expired trial license
* 🟣 Fixed: Use fallback when default license policy not assigned

### v4.0.1 (13.06.2023.)

* 🟣 Fixed: Added fallback in unlikely case that a product does not have a default license policy
* 🟣 Fixed: `validity_period` response on activated licenses
* 🟣 Fixed: Added `validity_period` check on all trial licenses
* 🟢 Improved: `metadata` is returned inside `product_details` object when doing license check and activation
* 🟢 Improved: Update internal sentry handler
* 🔵 Added: Metadata JSON field on customers, orders, licenses, products and product features
* 🔵 Added: Implemented `pm2` process management tool
* 🟢 Improved: Optimized license fetching SQL query

### v4.0.0

* 🟢 Improved: Replaced Express with Fastify
* 🟢 Improved: Updated all internal libraries to the latest version
* 🟢 Improved: All api methods rewritten from callbacks to async/await syntax

### 28.02.2023

* 🟣 Fixed: max\_activations on /trial\_key endpoint changed so that it is inherited from license policy with 1 as a default
* 🟣 Fixed: Customer\_does\_not\_exist error format

### 02.02.2023

* 🟣 Fixed: When creating customer api will trim emails and remove whitespaces
* 🔵 Added: Docs for new Mgmt API endpoint

### 17.01.2023.

* 🔵 Added: grace\_period and allow\_grace\_period to licenses and license policy
* 🔵 Added: Extended License api/shared keys - multiple api/shared keys per account, allowed products option, labels, read\_only and revoked fields.
* 🟣 Fixed: Handle failed attempt when creating subscriptions using Stripe checkout
* 🟢 Improved: Expand expiration check with grace\_period

### 20.12.2022.

* 🔵 Added: Support for adhoc intervalUnit

### 06.12.2022.

* 🟢 Improved: Expand extra field on AnalyticsActivity model to send additional details in JSON
* 🟢 Improved: Added allow\_unlimited\_activations and allow\_unlimited\_consumptions to the data model
* 🟢 Improved: Added Date header validation

### 22.11.2022.

* 🟣 Fixed: always return device\_id on license activation response as Integer
* 🟢 Improved: Order webhook returns new order\_items in response

(duplicate entry repeated below in source; consolidated above)

### 04.11.2022.

* 🟣 Fixed: times\_activated value on a License cannot be set lower than 0 on license deactivation
* 🟢 Improved: Added min validation on times\_activated field on the License model

### 20.9.2022.

* 🟢 Improved: Allowed Authorization code grant for SSO
* 🟢 Improved: Sending LicenseSignature header on license check and activation
* 🟢 Improved: Attaching license\_signature\_v2 to offline activation response object
* 🟣 Fixed: Consumptions events use max\_consumptions field instead of max\_overages to send events

### 30.08.2022.

* 🟢 Improved: Expanded consumptions events inside Usage Report with additional data
* 🟢 Improved: Added Max consumptions reached and Max feature consumptions reached Usage report events
* 🟢 Improved: Support for sending license\_policy code when creating ordeobject
* 🟢 Improved: Attached user object tot the offline activation response

### 17.07.2022.

* 🟣 Fixed: License deactivation decrements total\_activations field on license user
* 🔵 Added: New custom attribute is\_single\_license
* 🟢 Improved: Implemented max\_activations on license users

### 05.07.2022.

* 🟣 Fixed: Restrict setting invalid license type values
* 🔵 Added: Implement feature consumption analytics activity

### 14.06.2022.

* 🟣 Fixed: Restrict setting invalid license type values
* 🔵 Added: Implement feature consumption analytics activity

### 24.05.2022.

* 🟢 Improved: license check and activation response expanded with can\_borrow and max\_borrow\_time
* 🟣 Fixed: floating/borrow endpoint sets the device as floating\_in\_use if slots available; improvement: Support for product bundles on all endpoints

### 10.05.2022.

* 🔵 Added: Add borrowed\_until field to license check response and clear the borrowed\_until device field on floating release
* 🟢 Improved: /floating/release endpoint changes borrowed\_until on device to null
* 🟣 Fixed: Fix borrow\_until field in floating\_borrow endpoint

### 26.4.2022.

* 🟢 Improved: Add is\_borrowed field to the the license check
* 🟢 Improved: Fix creating duplicate license devices on batch license activation requests with unique license\_id+hwid constraint
* 🟢 Improved: Send notification request on license activation
* 🟢 Improved: Added api/v4/floating/borrow endpoint and floating\_borrow analytics activity event

### 29.3.2022.

* 🟢 Improved: Expand floating watchdog to handle license borrowing
* 🟣 Fixed: 2checkout error handler when wrong product code is sent
* 🟢 Improved: Extend data model to enable license borrowing

### 15.03.2022.

* 🟢 Improved: Fixed sso error format
* 🟣 Fixed: Added new /get\_device\_variables endpoint
* 🟢 Improved: Analytics activity expanded with single\_sign\_on and get\_device\_variables events

### 1.3.2022.

* 🟢 Improved: Fixed max\_transfers logic
* 🟣 Fixed: trial\_key analytics action
* 🟢 Improved: Handle prevent device transfer value on max\_transfers
* 🟢 Improved: Accept Single Sign On id\_token and customer\_account\_code params on license\_activation endpoint
* 🟢 Improved: Created SSO authentication method
* 🟢 Improved: Added new api/v4/sso\_url for generating AWS Cognito Single Sign On url for enabled customer accounts
* 🟢 Improved: Added SSO id\_token validation method
* 🟢 Improved: Enable sending customer with id only when creating order

### 15.02.2022.

* 🟢 Improved: Return start\_date field in license response on license check and license activation requests
* 🟢 Improved: Add start\_date on the License model and return error if license activation attempted before this date
* 🟢 Improved: Extend trial\_key endpoint with optional license\_policy query param and assign first\_name, last\_name and phone\_number to the license user if available

### 01.02.2022.

* 🟢 Improved: Replace deprecated requests library
* 🟣 Fixed: fastspring: Fix timeout with related offe
* 🟢 Improved: stripe: Support license\_policy price attribute ( enable using custom\_fields and product\_features )

### 18.01.2022.

* 🟢 Improved: Expand company settings with allow\_offline\_floating\_cloud

### 05.01.2022.

* 🟣 Fixed: Prevent floating\_cloud licenses to be activated offline
* 🟢 Improved: Deprecated order and license webhooks
* 🟢 Improved: Added allow\_trial and trial\_days fields to license template

### 23.12.2021.

* 🟢 Improved: FastSpring: Update max\_activations along floating\_users on subscription update when floating\_users\_from\_quantity attribute is present

### 16.11.2021.

* 🟢 Improved: Add CustomerAccount to the model and return customer\_account if available
* 🟢 Improved: Append total\_consumptions when deactivating offlin

### 03.11.2021.

* 🟢 Improved: Added is\_initial\_password and phone\_number to the user object on license check and activation

### 19.10.2021.

* 🟣 Fixed: Added JSON validation on track\_device\_variables endpoint
* 🟢 Improved: Return error on trial\_key if product does not allow trial
* 🟢 Improved: Expand installation file on license check
* 🟣 Fixed: Use true email inside user object on license check

### 06.10.2021.

* 🟢 Improved: Return overages with product features on license check and activation

### 22.09.2021.

* 🟢 Improved: Fastspring: Expand subscription.updated event logic to handle changing custom fields, product features and adding new licenses to the order

### 07.09.2021.

* 🟢 Improved: License API extended with license policiesr

### 1.09.2021

* 🟢 Improved: Floating slots check removed from license activation
* 🟣 Fixed: fastspring: Fix subscription.updated handler when floating\_users\_from\_quantity attribute
* 🔵 Added: fastspring: Add assign\_customer\_as\_user attribute
* 🔵 Added: stripe: Add is\_license\_manager attribute
* 🟣 Fixed: Order classMethod

### 27.07.2021

* 🟢 Improved: Offline deactivation file expanded to support license and license features consumptions update

### 08.07.2021

* 🟢 Improved: Added channel field to installation\_file and expanded /installation\_file endpoint with remaining fields
* 🟣 Fixed: Removed license\_user\_id from the Device
* 🟣 Fixed: stripe: Fixed customer.subscription.updated and customer.subscription.deleted events

(duplicate 08.07.2021 entry in source consolidated above)

### 22.06.2021

* 🟢 Improved: Created ping endpoint
* 🟢 Improved: Implemented license\_user\_id to the Device

(duplicate 22.06.2021 entry in source consolidated above)

### 15.06.2021

* 🟢 Improved: Added license\_user\_id to Device
* 🟣 Fixed: Stripe: Fixed subscription renewals
* 🟢 Improved: Added new analytics actions and expanded with status code

### 09.06.2021.

* 🟢 Improved: Expand check\_license response with is\_floating field

### 01.06.2021.

* 🟢 Improved: Add initial\_password to the trial\_key response and fix assignUser method

### 18.05.2021.

* 🟢 Improved: Fastspring: Add is\_license\_manager custom attribute to set customer as manager
* 🟢 Improved: Fix transfer\_count logic and implement max\_transfers
* 🟣 Fixed: Fix generating signature on license\_check response (use ISO string format)
* 🟢 Improved: Created customer\_license\_users endpoint to list all license\_users on all orders on some customer

### 11.05.2021.

* 🟣 Fixed: Added signature to license\_check response
* 🟢 Improved: Expand /installation\_file and /versions endpoint responses with release\_date field, add env query param and return only versions and files with release date less than maintenance\_period or validity\_period of the license
* 🟢 Improved: Add requires\_version field on installation files
* 🟢 Improved: Add overages and consumption resets on product features
* 🟣 Fixed: stripe: Fixed checking for a subscription id
* 🟢 Improved: Create order\_users endpoint to list all license\_users on some order

### 28.04.2021

* 🟣 Fixed: Fix installation\_file fields on license\_check response
* 🟣 Fixed: Fix sending emails on user/manager assign
* 🟢 Improved: stripe: Fix setting subscription as trial - use trial\_end and trial\_start fields
* 🟢 Improved: Include order\_store\_id to license check response
* 🟢 Improved: Save event data from integrations ( FastSpring, Stripe ) to LicenseHistory data field
* 🟢 Improved: Fix License activation usage report when source is sdk

### 20.04.2021.

* 🟣 Fixed: Create initial password for new users on trial licenses
* 🔵 Added: stripe: Add assign\_customer\_as\_user custom attribute
* 🟢 Improved: stripe: Expand Stripe integration to receive trialing status and to respond on customer.subscription.updated event (# 24047525)
* 🟢 Improved: Added floating\_in\_use\_devices in license check response

### 13.04.2021.

* 🔵 Added: Fastspring: Implemented subscription.updated event handling for single licenses
* 🔵 Added: license\_key in check\_license response
* 🔵 Added: Fastspring: Added custom attribute floating\_users\_from\_quantity

### 06.04.2021.

* 🟣 Fixed: Attach device id to the updated license device on activation to fix missing device id bug

### 30.03.2021.

* 🟢 Improved: Expand license activation response with license\_key and product\_details
* 🟢 Improved: Send order reference when creating an order
* 🟣 Fixed: Fix getting installation files for user based products

### 23.03.2021.

* 🟢 Improved: Implement license floating timeout value
* 🟣 Fixed: Add consumption fields to offline activation response if license is consumption type
* 🔵 Added: fastspring: Added support for trial subscriptions
* 🔵 Added: fastspring: Added support for setting custom fields on licenses
* 🟢 Improved: Implemented transfer\_count on licenses and add new DeviceActivationHistory table
* 🟣 Fixed: Check license validity\_period on license\_activation

### 09.03.2021.

* 🟢 Improved: Stripe: Get products from the database
* 🟣 Fixed: Verification of user based offline license signature
* 🔵 Added: New LicenseHistory events: License activated, License deactivated, Consumption added, Feature consumption added, Floating release, Offline license activated, Offline license deactivated

### 02.03.2021.

* 🟢 Improved: use StripeEvent table to check for duplicate Stripe event
* 🟢 Improved: added optional allow\_overages and max\_overages request query params to add\_consumption endpoint
* 🔵 Added: Stripe: implemented v1 of stripe LicenseSpring integration

### 16.02.2021.

* 🔵 Added: Implement time-limited product features using expiry\_date field
* 🟣 Fixed: Prevent creating duplicate customers when using getTrialLicense webhook with same email address

### 09.02.2021.

* 🔵 Added: Prevent creating duplicate product features on order create
* 🔵 Added: subscriptions: log SQL query when prolonging license
* 🔵 Added: Fastspring: support for creating floating cloud licenses using custom attribute floating\_cloud (int)
* 🟣 Fixed: Fastspring: fix setting validity\_period on subscription prolong - event type subscription.charge.completed; fix: properly set max\_overages as unlimited when 0 is sent as a value
* 🟣 Fixed: send consumption\_period and reset\_consumption fields inside license activation and license check response payload
* 🔵 Added: Add requestID to newRelic attributes
* 🟣 Fixed: Fix failing LicenseHistory in check
* 🟣 Fixed: timeout on invalid call to webhook/license

### 1.12.2020.

* 🟣 Fixed: intermittent issues with webhook/order
* 🟣 Fixed: fastspring contextual - subscription.deactivated fix
* 🟣 Fixed: implemented support for duration in weeks (fastspring contextual and in general))
* 🟢 Improved: updated Licenses model with note property and using it in v4 post order on item for license db storage.
* 🟣 Fixed: extended existing snowflake algorithm with magic number randomness.
* 🔵 Added: api/v4/versions returns only enabled versions.
* 🔵 Added: api/v4/activate\_license and api/v4/check\_license for user-based license returns user object with email, first\_name and last\_name properties
* 🟣 Fixed: offline\_activation additional headers saved to license device (app\_ver, sdk\_ver, ip\_local, ...) license\_activation and license\_check - in case user has more then one license, using not the first but the last one from the database for activation / checkOrder
* 🔵 Added: api/v4/change\_password user\_email API parameter renamed to password and old\_password API parameter to password
* 🔵 Added: api/v4/change\_password implemented

(duplicate 1.12.2020. entry in source consolidated above)

### 16.7.2020

* 🔵 Added: support for floating on-prem in /webhook/order
* 🟣 Fixed: fix issue with assigning user licenses in /webhook/order
* 🔵 Added: allow setting maintenance\_period on webhook/order
* 🟢 Improved: date is not a required header element on authorization (to support electron.js)

### 24.6.2020.

* 🟣 Fixed: License type on trial\_key API. Previously the trial\_key API was issuing trial keys that were perpetual. It now uses the default license type for which the product was configured.

### 23.6.2020.

* 🔵 Added: New error message: license\_key\_exists error when webhook/order receives an order with an existing license key
* 🟣 Fixed: Consumption features assignment on webhook/order
* 🟣 Fixed: Assignment of trial\_days on trial\_key API. It was previously defaulting to 30 day trial duration on perpetual licenses. Trial keys are now issued with the default trial duration as configured with the product.

### 18.6.2020

* 🔵 Added: The ability to set the value of custom\_fields on webhook/order
* 🔵 Added: Changed value of the custom field value to be a TEXT
* 🟣 Fixed: Trial key validity period when set explicitly through webhook/order
* 🟣 Fixed: times\_activated on activate\_license API

### 29.04.2020

* 🔵 Added: API added max\_consumptions to response of api/v4/add\_feature\_consumption

### 08.04.2020

* 🔵 Added: API webhook: fixes to 2checkout key generation

### 03.04.2020

* 🔵 Added: API webhook/order - user-based licenses now assign users
* 🔵 Added: Implemented overages
* 🔵 Added: allow\_overages, max\_overages, reset\_consumption and consumption\_period to product and license UI
* 🔵 Added: API webhook/order - support for consumption overages implemented
* 🔵 Added: API max\_overages and allow\_overages implemented into v4/add\_consumption

### 30.3.2020.

* 🔵 Added: API sending max\_consumption(s) on add\_feature\_consumption and add\_consumption endpointss

### 4.12.2019.

* 🔵 Added: API added times\_activated and max\_activations on check\_license and activate\_license endpoints
* 🟣 Fixed: BUG on API: fix license\_custom\_field API response

</details>


---

# 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/changelog/license-api-changelog.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.
