You're viewing documentation for release 6 (LTS). Looking for a different release?

Update licenses in a license transaction

You can update an organization’s or user’s licenses using the 10Duke Entitlement Management REST API.

In 10Duke Enterprise, licenses are updated in a license transaction. When you update licenses related to a transaction, the request uses the same transaction structure as when provisioning licenses. 10Duke Enterprise identifies the transaction and the transaction items based on the externalId provided during the original provisioning request. See more about updating transactions.

Note that there are certain limitations to what license updates can be done.

You can also update licenses using 10Duke SysAdmin.

API operations

10Duke Entitlement Management REST API operations:

Operation URL (relative, prepend the environment base URL)
Update organization licenses in a transaction PUT /organizations/{orgId}/license-transactions
Update personal licenses in a transaction PUT /users/{userId}/license-transactions

Update a license transaction for an organization

The following example shows how to update a license transaction for an organization. Updating a transaction for personal licenses is done in a similar way.

Request example

To update a license transaction for an organization, send a PUT request to /organizations/{orgId}/license-transactions. See the API reference for details on the API path parameters, request body, and response schemas.

This example request uses curl (line breaks added for display purposes). The request extends the validity of an existing license by one month.

curl --request PUT
   --url <API_base_path>/organizations/0697532b-c3fe-4915-82f5-e34bba8f8ae7/license-transactions
   --header 'content-type: application/json'
   --data '{"transaction":{"type":"Order","externalId":"0000004556786","items":[{"externalId":"0001","productId":"0aa228a2-d3bc-4934-9069-658333c03780","quantity":1,"licenseValidFrom":"2025-12-15T14:12:22.012Z","licenseValidUntil":"2026-02-15T14:12:22.012Z"}]}}'

Response example

This sample response shows information that the response body can contain:

{
   "transaction": {
      "id": "8ec39f9d-f739-4bc1-aa55-8cb712e50adb",
      "type": "Order",
      "externalId": "0000004556786",
      "processed": "2023-02-19T14:12:22.010Z",
      "items": [{
         "id": "e0588c33-7055-4b28-8ec6-9e92c6f3b94f",
         "externalId": "0001",
         "productId": "0aa228a2-d3bc-4934-9069-658333c03780",
         "quantity": 1,
         "licenseValidFrom": "2025-12-15T14:12:22.012Z",
         "licenseValidUntil": "2026-02-15T14:12:22.012Z",
         "licenses": [{
            "id": "48e04c21-1fae-4ddf-ab5a-e0644039c81e",
            "validFrom": "2025-12-15T14:12:22.012Z",
            "validUntil": "2026-02-15T14:12:22.012Z",
            "active": true,
            "entitlementId": "6bde22fa-ecd4-4017-9b61-d661c33ba353",
            "licensedItem": {
               "id": "75151a68-fee2-436e-bfa7-3d9e5b94668d",
               "name": "CutXPro",
               "displayName": "CutXPro"
            },
            "licenseModelId": "1db0c182-70c4-4a51-8326-54ce29138303",
            "licenseModelName": "License_Model_for_Personal_License",
            "seatsTaken": 0,
            "seatsReserved": 0,
            "seatsTotal": 1,
            "seatCountCredits": [{
               "id": "0841fc18-3220-4816-a12f-9cf125c7d489",
               "validFrom": "2025-12-15T14:12:22.012Z",
               "validUntil": "2026-02-15T14:12:22.012Z",
               "active": true,
               "licenseId": "48e04c21-1fae-4ddf-ab5a-e0644039c81e",
               "licenseTransactionItemId": "e0588c33-7055-4b28-8ec6-9e92c6f3b94f",
               "seatCount": 1,
               "seatsConsumed": 0
            }]
         }]
      }]
   }
}