Previews the license a device activating the entitlement now would receive — or, for an offer, a license issued from it — or the refusal it would get. A dry run: the activation runs in a transaction that is rolled back, so no session, seat, trial start, event or audit entry remains, and the returned token is unsigned. A refusal is a 200 whose outcome is `Refused`.
const url = 'https://example.com/api/v1/provision/admin/entitlements/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/license-preview';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"activateAs":"AnonymousDevice","userId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","offerRecipe":"Order","applicationScope":"example","deviceIpAddress":"example","ignoreDraftState":true,"planSetId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","planName":"example"}'};
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/admin/entitlements/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/license-preview \ --header 'Content-Type: application/json' \ --data '{ "activateAs": "AnonymousDevice", "userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "offerRecipe": "Order", "applicationScope": "example", "deviceIpAddress": "example", "ignoreDraftState": true, "planSetId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "planName": "example" }'Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Entitlement or offer id.
Request Bodyrequired
Section titled “Request Bodyrequired”Who activates, and for an offer, how its license is issued.
What a license preview runs: who activates, and for an offer, how its license is issued.
object
Who the preview activates as. Never the caller.
The user to activate as. Required when LicensePreviewIdentity LicensePreviewRequestDto.ActivateAs is LicensePreviewIdentity.User.
The application scope the device presents. Required when the entitlement restricts activation to application scopes.
The address the device activates from, checked against the activation policy’s allowed ranges.
Issue the license even though the offer or a product is still Draft, to check it before they are published. Preview only: a real activation or issue is refused, and string? LicensePreviewDto.IgnoredDraftRefusal says with what. A Draft feature is never a refusal: the token leaves it out (LicensePreviewFeatureVerdict.SuppressedInCatalog).
The plan set string? LicensePreviewRequestDto.PlanName is in. Defaults to the plan set the entitlement or offer is on.
Preview the license on this plan instead of the one the entitlement, or the order placed from the offer, is on. The plan is applied inside the preview only; the entitlement keeps its own. Not for a sign-up or anonymous try license, whose plan comes from the offer.
What a license preview runs: who activates, and for an offer, how its license is issued.
object
Who the preview activates as. Never the caller.
The user to activate as. Required when LicensePreviewIdentity LicensePreviewRequestDto.ActivateAs is LicensePreviewIdentity.User.
The application scope the device presents. Required when the entitlement restricts activation to application scopes.
The address the device activates from, checked against the activation policy’s allowed ranges.
Issue the license even though the offer or a product is still Draft, to check it before they are published. Preview only: a real activation or issue is refused, and string? LicensePreviewDto.IgnoredDraftRefusal says with what. A Draft feature is never a refusal: the token leaves it out (LicensePreviewFeatureVerdict.SuppressedInCatalog).
The plan set string? LicensePreviewRequestDto.PlanName is in. Defaults to the plan set the entitlement or offer is on.
Preview the license on this plan instead of the one the entitlement, or the order placed from the offer, is on. The plan is applied inside the preview only; the entitlement keeps its own. Not for a sign-up or anonymous try license, whose plan comes from the offer.
What a license preview runs: who activates, and for an offer, how its license is issued.
object
Who the preview activates as. Never the caller.
The user to activate as. Required when LicensePreviewIdentity LicensePreviewRequestDto.ActivateAs is LicensePreviewIdentity.User.
The application scope the device presents. Required when the entitlement restricts activation to application scopes.
The address the device activates from, checked against the activation policy’s allowed ranges.
Issue the license even though the offer or a product is still Draft, to check it before they are published. Preview only: a real activation or issue is refused, and string? LicensePreviewDto.IgnoredDraftRefusal says with what. A Draft feature is never a refusal: the token leaves it out (LicensePreviewFeatureVerdict.SuppressedInCatalog).
The plan set string? LicensePreviewRequestDto.PlanName is in. Defaults to the plan set the entitlement or offer is on.
Preview the license on this plan instead of the one the entitlement, or the order placed from the offer, is on. The plan is applied inside the preview only; the entitlement keeps its own. Not for a sign-up or anonymous try license, whose plan comes from the offer.
Responses
Section titled “Responses”OK
What a device activating now would receive, from a dry run of the activation that leaves nothing behind: no session, no seat, no started trial or activation period, no events. The license token is unsigned, so no application that pins a signing key accepts it as a license.
object
Whether the device would be issued a license.
The error code the device would receive when refused.
The message the device would receive when refused.
The entitlement is offline for editing, and the preview enabled license activation first: the license shown is the one a device receives once activation is enabled.
The license the device would receive, its token unsigned. Null when refused.
object
The signed license JWT the SDK validates offline against the provider’s public key.
Link to the license terms (EULA) the license was issued under: an absolute https URL, or null when the entitlement has none. Unsigned display metadata, read from the entitlement at every issue and refresh.
A feature as activated on an end-user license: the granted value, enablement, trial/grace availability, and optional per-feature expiration.
object
The metric a metered feature’s usage is recorded under, resolved by the issuer. A feature code
and its metric name are deliberately different strings (MIRAGE.IMAGE.RENDERS against
mirage.image.renders) and the server matches a meter by exact metric name, so this is the
only name usage may be reported under. Null for a feature that has no meter, or when the issuer
did not resolve one.
What the feature’s value is counted in (GB, seats, calls), read from the vendor’s catalog at every issue, for showing beside the value. Null for a Boolean feature, or when the catalog names none. Unsigned display metadata, like string? ActivatedFeatureDto.Name.
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.
A product covered by the license, with the custom properties the vendor marked Public. Display/catalog metadata carried on the unsigned EndUserLicenseDto envelope, like feature names and descriptions, so it must never gate functionality. The product code and version are also in the signed token (SignedProductDto); gate on that copy.
object
The version of the product the license was issued for, for display; empty when the product has none.
object
A custom key/value property (e.g. on a product) with optional metadata entries.
object
A key/value metadata entry attached to a PropertyValueDto.
object
Whether a custom property is sent to the application with its license.
The license’s meters, one per metric name, with the unit each counts in.
A meter of the license: the metric name its usage is recorded and limited under (the key in the
signed usage_limits claim) and the unit it counts in. Display metadata carried on the unsigned
EndUserLicenseDto envelope, read from the same record as the customer API’s meter
(string MyMonitoredAssetDto.Unit), so both report the same unit. A meter of a feature the
license withholds is left out, as the feature is.
object
What the meter counts, e.g. renders or minutes; null when the meter names none.
Every feature the entitlement grants, including the ones the token withholds.
One feature the entitlement grants, with what the license token does with it.
object
The feature’s code.
The product that grants it; empty for a feature granted by an add-on.
The feature’s value on the license.
Whether the token carries it, and if not, why.
The key a real activation signs the token with.
With bool LicensePreviewRequestDto.IgnoreDraftState: the refusal a real activation or issue gets because the offer or a product is still Draft. Null when nothing Draft was ignored.
The plan the license was issued on. Null when it is on none.
A temporary plan the preview’s issue or activation laid over string? LicensePreviewDto.PlanName, such as a trial’s plan or a running promotion’s: the license carries its values while it lasts. Null when none was.
What a device activating now would receive, from a dry run of the activation that leaves nothing behind: no session, no seat, no started trial or activation period, no events. The license token is unsigned, so no application that pins a signing key accepts it as a license.
object
Whether the device would be issued a license.
The error code the device would receive when refused.
The message the device would receive when refused.
The entitlement is offline for editing, and the preview enabled license activation first: the license shown is the one a device receives once activation is enabled.
The license the device would receive, its token unsigned. Null when refused.
object
The signed license JWT the SDK validates offline against the provider’s public key.
Link to the license terms (EULA) the license was issued under: an absolute https URL, or null when the entitlement has none. Unsigned display metadata, read from the entitlement at every issue and refresh.
A feature as activated on an end-user license: the granted value, enablement, trial/grace availability, and optional per-feature expiration.
object
The metric a metered feature’s usage is recorded under, resolved by the issuer. A feature code
and its metric name are deliberately different strings (MIRAGE.IMAGE.RENDERS against
mirage.image.renders) and the server matches a meter by exact metric name, so this is the
only name usage may be reported under. Null for a feature that has no meter, or when the issuer
did not resolve one.
What the feature’s value is counted in (GB, seats, calls), read from the vendor’s catalog at every issue, for showing beside the value. Null for a Boolean feature, or when the catalog names none. Unsigned display metadata, like string? ActivatedFeatureDto.Name.
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.
A product covered by the license, with the custom properties the vendor marked Public. Display/catalog metadata carried on the unsigned EndUserLicenseDto envelope, like feature names and descriptions, so it must never gate functionality. The product code and version are also in the signed token (SignedProductDto); gate on that copy.
object
The version of the product the license was issued for, for display; empty when the product has none.
object
A custom key/value property (e.g. on a product) with optional metadata entries.
object
A key/value metadata entry attached to a PropertyValueDto.
object
Whether a custom property is sent to the application with its license.
The license’s meters, one per metric name, with the unit each counts in.
A meter of the license: the metric name its usage is recorded and limited under (the key in the
signed usage_limits claim) and the unit it counts in. Display metadata carried on the unsigned
EndUserLicenseDto envelope, read from the same record as the customer API’s meter
(string MyMonitoredAssetDto.Unit), so both report the same unit. A meter of a feature the
license withholds is left out, as the feature is.
object
What the meter counts, e.g. renders or minutes; null when the meter names none.
Every feature the entitlement grants, including the ones the token withholds.
One feature the entitlement grants, with what the license token does with it.
object
The feature’s code.
The product that grants it; empty for a feature granted by an add-on.
The feature’s value on the license.
Whether the token carries it, and if not, why.
The key a real activation signs the token with.
With bool LicensePreviewRequestDto.IgnoreDraftState: the refusal a real activation or issue gets because the offer or a product is still Draft. Null when nothing Draft was ignored.
The plan the license was issued on. Null when it is on none.
A temporary plan the preview’s issue or activation laid over string? LicensePreviewDto.PlanName, such as a trial’s plan or a running promotion’s: the license carries its values while it lasts. Null when none was.
Example
{ "outcome": "Unknown", "license": { "products": [ { "propertyValues": { "additionalProperty": { "visibility": "Private" } } } ] }, "features": [ { "verdict": "Unknown" } ]}What a device activating now would receive, from a dry run of the activation that leaves nothing behind: no session, no seat, no started trial or activation period, no events. The license token is unsigned, so no application that pins a signing key accepts it as a license.
object
Whether the device would be issued a license.
The error code the device would receive when refused.
The message the device would receive when refused.
The entitlement is offline for editing, and the preview enabled license activation first: the license shown is the one a device receives once activation is enabled.
The license the device would receive, its token unsigned. Null when refused.
object
The signed license JWT the SDK validates offline against the provider’s public key.
Link to the license terms (EULA) the license was issued under: an absolute https URL, or null when the entitlement has none. Unsigned display metadata, read from the entitlement at every issue and refresh.
A feature as activated on an end-user license: the granted value, enablement, trial/grace availability, and optional per-feature expiration.
object
The metric a metered feature’s usage is recorded under, resolved by the issuer. A feature code
and its metric name are deliberately different strings (MIRAGE.IMAGE.RENDERS against
mirage.image.renders) and the server matches a meter by exact metric name, so this is the
only name usage may be reported under. Null for a feature that has no meter, or when the issuer
did not resolve one.
What the feature’s value is counted in (GB, seats, calls), read from the vendor’s catalog at every issue, for showing beside the value. Null for a Boolean feature, or when the catalog names none. Unsigned display metadata, like string? ActivatedFeatureDto.Name.
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.
A product covered by the license, with the custom properties the vendor marked Public. Display/catalog metadata carried on the unsigned EndUserLicenseDto envelope, like feature names and descriptions, so it must never gate functionality. The product code and version are also in the signed token (SignedProductDto); gate on that copy.
object
The version of the product the license was issued for, for display; empty when the product has none.
object
A custom key/value property (e.g. on a product) with optional metadata entries.
object
A key/value metadata entry attached to a PropertyValueDto.
object
Whether a custom property is sent to the application with its license.
The license’s meters, one per metric name, with the unit each counts in.
A meter of the license: the metric name its usage is recorded and limited under (the key in the
signed usage_limits claim) and the unit it counts in. Display metadata carried on the unsigned
EndUserLicenseDto envelope, read from the same record as the customer API’s meter
(string MyMonitoredAssetDto.Unit), so both report the same unit. A meter of a feature the
license withholds is left out, as the feature is.
object
What the meter counts, e.g. renders or minutes; null when the meter names none.
Every feature the entitlement grants, including the ones the token withholds.
One feature the entitlement grants, with what the license token does with it.
object
The feature’s code.
The product that grants it; empty for a feature granted by an add-on.
The feature’s value on the license.
Whether the token carries it, and if not, why.
The key a real activation signs the token with.
With bool LicensePreviewRequestDto.IgnoreDraftState: the refusal a real activation or issue gets because the offer or a product is still Draft. Null when nothing Draft was ignored.
The plan the license was issued on. Null when it is on none.
A temporary plan the preview’s issue or activation laid over string? LicensePreviewDto.PlanName, such as a trial’s plan or a running promotion’s: the license carries its values while it lasts. Null when none was.
Example
{ "outcome": "Unknown", "license": { "products": [ { "propertyValues": { "additionalProperty": { "visibility": "Private" } } } ] }, "features": [ { "verdict": "Unknown" } ]}Bad Request
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Not Found
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Service Unavailable