Activates a license and returns complete license information with metadata.
const url = 'https://example.com/api/v1/provision/activations/license';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"activationCode":"example","fingerprint":"example","components":"example","deviceName":"example","applicationScope":"example","applicationInstanceId":"example","email":"example","requestedLeaseDurationSeconds":1,"targetSoftwareVersion":"example","useInteractiveUser":true,"tryMode":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/provision/activations/license \ --header 'Content-Type: application/json' \ --data '{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": true, "tryMode": true }'Returns extended metadata: provider info, legal notices, public key for token verification, licensed product IDs. Prefer this when the client needs to display legal / product information or cache verification key. Error codes same as /jwt endpoint.
Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Optional Idempotency-Key header. A retry carrying a key already seen returns the original session (re-validated) instead of claiming another seat. The retry must repeat the same request — same activation code, fingerprint and caller identity; a key presented with a different request is rejected as a conflict.
Represents a request to obtain (or check availability for) a license activation. All nullable fields are optional depending on the activation policy.
object
Activation (or license) code required to identify entitlement or activation workflow.
The fingerprint is used to bind the license to a specific device or environment and therefore should be unique (as possible). This acts as identifier for binding a license to a seat.
Optional per-component one-way hashes of the device identity (well-known keys: MachineName, MacAddress, OsVersion, UserName). Enables the entitlement’s ComponentMatchingStrategy (MatchAny/Two/Most) during session-reuse lookup. Additive: when omitted the server falls back to exact-equality on string? LicenseRequestDto.Fingerprint (MatchAll). Values are hashed on-device; raw component values never leave the client.
The device name is optional (but highly recommended) additional information about the device (e.g. for display in management UIs).
The license is bound to restricted to the provided application scope. This is to ensure that the activation code is used only for its intended application.
Identifies the specific application or process that holds this license when concurrent licensing is enabled. Relevant when multiple processes on the same hardware require separate licenses.
End-user email (used for identity verification or association). Optional depending on policy.
Desired lease duration, in seconds. Advisory: the server currently ignores this value and derives the lease duration from the entitlement’s license-allocation policy.
Software version requesting activation (policy may restrict allowed software versions).
When true, the server will resolve the authenticated user’s identity and find entitlements assigned to that user (via EntitlementPrincipal). Requires an authenticated request with a valid user token. The activation code may be omitted when this is true and the user has exactly one assigned entitlement.
When true, string LicenseRequestDto.ActivationCode is read as an offer’s public try code and the server answers with the calling device’s own short-lived license, issuing one if the device has none. string? LicenseRequestDto.Fingerprint is required: the try code is public, so it identifies the offer and never the caller, and a request that names no device is refused.
Examplegenerated
{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": true, "tryMode": true}Represents a request to obtain (or check availability for) a license activation. All nullable fields are optional depending on the activation policy.
object
Activation (or license) code required to identify entitlement or activation workflow.
The fingerprint is used to bind the license to a specific device or environment and therefore should be unique (as possible). This acts as identifier for binding a license to a seat.
Optional per-component one-way hashes of the device identity (well-known keys: MachineName, MacAddress, OsVersion, UserName). Enables the entitlement’s ComponentMatchingStrategy (MatchAny/Two/Most) during session-reuse lookup. Additive: when omitted the server falls back to exact-equality on string? LicenseRequestDto.Fingerprint (MatchAll). Values are hashed on-device; raw component values never leave the client.
The device name is optional (but highly recommended) additional information about the device (e.g. for display in management UIs).
The license is bound to restricted to the provided application scope. This is to ensure that the activation code is used only for its intended application.
Identifies the specific application or process that holds this license when concurrent licensing is enabled. Relevant when multiple processes on the same hardware require separate licenses.
End-user email (used for identity verification or association). Optional depending on policy.
Desired lease duration, in seconds. Advisory: the server currently ignores this value and derives the lease duration from the entitlement’s license-allocation policy.
Software version requesting activation (policy may restrict allowed software versions).
When true, the server will resolve the authenticated user’s identity and find entitlements assigned to that user (via EntitlementPrincipal). Requires an authenticated request with a valid user token. The activation code may be omitted when this is true and the user has exactly one assigned entitlement.
When true, string LicenseRequestDto.ActivationCode is read as an offer’s public try code and the server answers with the calling device’s own short-lived license, issuing one if the device has none. string? LicenseRequestDto.Fingerprint is required: the try code is public, so it identifies the offer and never the caller, and a request that names no device is refused.
Examplegenerated
{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": true, "tryMode": true}Represents a request to obtain (or check availability for) a license activation. All nullable fields are optional depending on the activation policy.
object
Activation (or license) code required to identify entitlement or activation workflow.
The fingerprint is used to bind the license to a specific device or environment and therefore should be unique (as possible). This acts as identifier for binding a license to a seat.
Optional per-component one-way hashes of the device identity (well-known keys: MachineName, MacAddress, OsVersion, UserName). Enables the entitlement’s ComponentMatchingStrategy (MatchAny/Two/Most) during session-reuse lookup. Additive: when omitted the server falls back to exact-equality on string? LicenseRequestDto.Fingerprint (MatchAll). Values are hashed on-device; raw component values never leave the client.
The device name is optional (but highly recommended) additional information about the device (e.g. for display in management UIs).
The license is bound to restricted to the provided application scope. This is to ensure that the activation code is used only for its intended application.
Identifies the specific application or process that holds this license when concurrent licensing is enabled. Relevant when multiple processes on the same hardware require separate licenses.
End-user email (used for identity verification or association). Optional depending on policy.
Desired lease duration, in seconds. Advisory: the server currently ignores this value and derives the lease duration from the entitlement’s license-allocation policy.
Software version requesting activation (policy may restrict allowed software versions).
When true, the server will resolve the authenticated user’s identity and find entitlements assigned to that user (via EntitlementPrincipal). Requires an authenticated request with a valid user token. The activation code may be omitted when this is true and the user has exactly one assigned entitlement.
When true, string LicenseRequestDto.ActivationCode is read as an offer’s public try code and the server answers with the calling device’s own short-lived license, issuing one if the device has none. string? LicenseRequestDto.Fingerprint is required: the try code is public, so it identifies the offer and never the caller, and a request that names no device is refused.
Examplegenerated
{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": true, "tryMode": true}Responses
Section titled “Responses”License activated successfully – returns complete license information.
End user license token with meta data.
object
The signed license JWT the SDK validates offline against the provider’s public key.
A feature as activated on an end-user license: the granted value, enablement, trial/grace availability, and optional per-feature expiration.
object
When true, the feature is withheld for the duration of a trial even if enabled.
The issuer’s verdict that this license explicitly does not grant the feature. Validation treats it as final, while the feature stays present for display — a locked capability can still be shown, and reaching for it is counted as a denied check.
Examplegenerated
{ "licenseToken": "example", "version": 1, "legalNotice": "example", "copyright": "example", "providerUrl": "example", "providerEmail": "example", "description": "example", "licensedProducts": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "activatedFeatures": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "featureCode": "example", "productId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "moduleName": "example", "featurePath": "example", "name": "example", "description": "example", "value": "example", "version": "example", "isEnabled": true, "isAvailableDuringTrialPeriod": true, "isAvailableDuringGracePeriod": true, "isPaidFeature": true, "isDenied": true, "featureExpiration": "2026-04-15T12:00:00Z" } ]}Invalid request data or activation code.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Activation forbidden by policy (e.g., authentication required, user not verified).
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Activation code not found or expired.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Device already activated, seat limit exceeded, or the Idempotency-Key was reused for a different request.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Too many requests – rate limit exceeded.
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}