Release a license checkout

Releasing the checkout is used to end license consumption and to report to 10Duke Scale the final amount that was consumed from the license—especially relevant to licenses with use count and use time. In the case of seat-based licenses, it also frees the license seat for use by other license consumers.

You can use the 10Duke Scale License Checkout API to release a license checkout in enforced or metered consumption mode. For a license being consumed in enforced mode, you can also release the checkout in the UI console.

For background, see an overview of the license consumption flow.

Release request

A release request must provide the same client application claims as the license checkout.

If the license model binds the license consumption to the hardware on which the license was checked out, the cliHwId value in the release request must match the one provided at checkout, or the release fails.

Release response

As a response to a release request, 10Duke Scale returns an array of JSON objects. The array contains one object per released license checkout.

In each object, the released field indicates whether the release was successful. If the release failed, use the error code to study the failure in more detail.

Each object also contains information such as the license that was released, the license consumer that was consuming the license, and the final quantity that was consumed by this license checkout.

Example release response

[
  {
    "releasedLeaseId": "1714998146.djEuMC4w.e.YWZlYjBiMGRlNTk2NGQ4N2JhZDkyYTc5MzE2M2M2OWQ=",
    "releasedLicenseId": "1fc8e4e5-1dcd-4db9-a45f-c1c0c724815b",
    "licenseConsumerId": "ed60afb4-8417-4636-99bb-165f0e2f86ca",
    "productName": "ThreeDee",
    "remainingQty": 1,
    "finalUsedQty": 1,
    "qtyDimension": "SEATS",
    "released": true,
    "errorCode": null,
    "errorDescription": null
  }
]

Release checkout in the UI console

To release a license that is currently being consumed:

  1. In the left sidebar, go to LICENSING > Customers.

  2. On the customer list, click the three-dot menu for the customer and select Licenses.

    A list of that customer’s licenses opens.

  3. Click the three-dot menu for the license you want to release and select Current use.

    If the license is currently checked out by one or more license consumers, the page shows information on the consumption for each license consumer, such as the hardware ID of the device on which the license is being consumed, and the time of the checkout and the latest heartbeat.

    Current use of license

  4. To release a license checkout, click the three-dot menu for the checkout and select Release.

    A page opens where you can review the checkout details and release it.

    Define consumed quantity

  5. In Verified quantity, define the final quantity that was consumed from the license if it has use count or use time.

    For a seat-based license, you always release one seat at a time.

  6. Enable Force release to end the license consumption even if the release fails due to some error.

    An example case might be that the client application has sent a heartbeat after the user navigated to this UI page and the lease ID has changed. Selecting Force release ensures that you can still successfully end the license consumption and report the consumed quantity.

  7. Click Release to end the license consumption for this checkout.

Release a checkout through the API

Use the following License Checkout API operations to end the consumption of a license by a license consumer of type person (user) or device or by a license key:

Item URL (relative, prepend the environment base URL)
Release the license checkout in enforced mode for a user or device POST /licensing/actions/release
Release the license checkout in enforced mode using a license key POST /licensing/actions/release/{licenseKey}
End metered consumption of a license for a user or device POST /licensing/actions/end-metered-use
End metered consumption of a license using a license key POST /licensing/actions/end-metered-use/{licenseKey}