Activates a license and returns the JWT license token.
const url = 'https://example.com/api/v1/provision/activations/jwt';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}'};
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/jwt \ --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 }'Use when the client only needs the token (smaller payload).
Re-activating the same device (same activation code + fingerprint) returns the existing session rather than creating a duplicate, so clients can safely retry network failures.
Error model follows RFC7807 (`ProblemDetails`) with a numeric `code` and dotted `codeName` in `extensions`:
* license.not_foundThe activation code does not map to an entitlement, or it has expired.
- license.forbidden_by_policyActivation is blocked by the entitlement’s activation policy (e.g., authentication or identity verification required).
- license.validation_errorThe request body or activation code is invalid.
Sample request:
{ "activationCode": "ABC123-DEF456-GHI789", "fingerprint": "device-fingerprint-hash", "email": "user@example.com" }
Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”Request Body required
Section titled “Request Body required ”Optional Idempotency-Key header, reserved for future use. Re-activating the same device returns the existing session (see remarks); this header is not yet independently enforced.
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. Use instead of former RequestedLeasePeriod (which incorrectly used DateTime).
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.
Example generated
{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": 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. Use instead of former RequestedLeasePeriod (which incorrectly used DateTime).
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.
Example generated
{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": 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. Use instead of former RequestedLeasePeriod (which incorrectly used DateTime).
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.
Example generated
{ "activationCode": "example", "fingerprint": "example", "components": "example", "deviceName": "example", "applicationScope": "example", "applicationInstanceId": "example", "email": "example", "requestedLeaseDurationSeconds": 1, "targetSoftwareVersion": "example", "useInteractiveUser": true}Responses
Section titled “ Responses ”License activated successfully – returns JWT token.
Invalid request data or activation code.
object
Activation forbidden by policy (e.g., authentication required, user not verified).
object
Activation code not found or expired.
object
Device already activated or seat limit exceeded.
object
Too many requests – rate limit exceeded.