Skip to content
Oclavex is in private preview, available to selected users. Public signup is blocked. Request access at [email protected].

Retrieves an entitlement by id.

GET
/api/v1/provision/admin/entitlements/{entitlementId}
curl --request GET \
--url https://example.com/api/v1/provision/admin/entitlements/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0
entitlementId
required
string format: uuid

Entitlement id.

OK

The central admin read model for an entitlement: a customer’s grant to use one or more products, carrying lifecycle state, activation/trial/subscription policies, features, plan assignment, and external billing references.

object
licenseTermsUrl

Link to the license terms (EULA); empty when there are none. On an offer it is copied onto every entitlement ordered from it; on an entitlement it is sent to the application at every issue and refresh and shown to the customer.

string
description
string
name
string
version
null | string
customerContactEmail
string
customerContactName
string
status

Admin-controlled lifecycle state of an entitlement.

Allowed values: Draft Published Disabled Archived
subscriptionStatus

Consumer-facing subscription/lifecycle status, derived server-side from EntitlementLifecycleStatus EntitlementDto.Status, expiration dates, and trial / pause state.

Allowed values: Pending Trialing Active Paused Expired Canceled PastDue
licenseKey
null | string
notValidBeforeDateTime
string format: date-time
expirationDateTime
string format: date-time
isEntitlementTrial

Read-only convenience flag; true when TrialActivationPolicyDto? EntitlementDto.TrialActivationPolicy is set.

boolean
id
string format: uuid
isOffer
boolean
issueOnUserRegistration
boolean
allowAnonymousTry

On offers: visitors can use the application without an account, on a short-lived license issued per device.

boolean
consumersMayGrantCredits

On offers: entitlements issued from the offer may deposit credits into their own balance through the consumer credit-grant route. On an entitlement: the value it was issued with.

boolean
isAnonymousTry

Read-only; true when this entitlement is held by a device rather than a person — an anonymous try license. Derived from the assignment, never stored.

boolean
isPlatformOffer

Read-only; true on the platform operator’s offer that every new tenant’s platform license is ordered from. It can’t be disabled or archived. Derived, never stored.

boolean
convertedToEntitlementId

On a try license whose device later signed up: the license they were issued. Nothing else carries over — the try license’s usage is purged with it.

null | string format: uuid
anonymousTryIssuedAt

Read-only; on a try license, when it was issued to its device. Null on everything else.

null | string format: date-time
anonymousTryPurgeDueAt

Read-only; on a try license, when the platform deletes it — its expiry plus the grace it was issued with, as the purge applies it. Null on everything else, and on a try license that carries no expiry.

null | string format: date-time
sourceOfferId

Set when this entitlement was auto-issued for a self-service user; carries the source offer’s id.

null | string format: uuid
originOfferId

The offer this entitlement was made from: recorded when it is ordered from an offer — an order, a sign-up, a billing provider’s subscription, a try — and by an admin for one made before that. Null when it was not made from an offer, and always on an offer.

null | string format: uuid
products
Array<object>

Admin read model of a catalog product: identity (code + version), lifecycle status, features, monitored assets, metrics, and custom properties.

object
id
string format: uuid
status

Indicates the current product status in its lifecycle.

Allowed values: Draft Preview Published Disabled Archived
providerId

Unique identifier of the provider associated with this product.

string format: uuid
name

Public-facing name of the product used for display purposes.

string
description

Description of the product as displayed in the customer portal.

string
productCode

Unique internal code of the product. Must be unique in combination with string ProductDto.ProductVersion.

string
productVersion

Version of the product visible to the end user. Not SemVer: one to four dot-separated numbers (e.g. “1”, “1.2”, “1.2.3.4”), or empty. Prerelease and build suffixes are rejected.

string
expirationDate

Expiration date, after which the product is no longer available for deployment. Null if no expiration is set.

null | string format: date-time
externalId

Optional external identifier, such as a CMS or ERP ID.

null | string
tags

Tag names applied to this product, from the tenant’s TagScopeDto.Product vocabulary. Vendor-facing catalog organization only — tags never reach an entitlement snapshot, a license token, or the end-user portal.

Array<string>
features

Collection of features that define additional functionalities of the product.

Array<object>

A feature as defined on a product: default value, enablement, trial/grace availability, license-token inclusion, and metering configuration. Entitlements inherit these defaults.

object
id
string format: uuid
featureCatalogId
null | string format: uuid
featureCode
string
moduleName
null | string
name
string
description
null | string
usageMetric
null | string
units
null | string
featureType

Data type of a feature’s value; determines how Value strings are interpreted and enforced.

Allowed values: Boolean Numeric Text Enumeration Metered JsonField
enumOptions
Array<object>

One allowed value of an Enumeration-typed feature.

object
value
string
description
null | string
value
null | string
isEnabled
boolean
includeInLicenseToken
boolean
isAvailableDuringTrialPeriod
boolean
isAvailableDuringGracePeriod
boolean
isPaidFeature

When true, the feature is withheld for the duration of a trial even if enabled.

boolean
canModifyValueOnEntitlement
boolean
meterAggregationType
One of:
null
visibility

Who can see a feature.

Allowed values: Public Internal
sortOrder

Where the feature appears among the product’s features. The vendor sets it; every list of a product’s features is ordered by it, so the screens agree with each other.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
isDeleted
boolean
creationTimeStamp
string format: date-time
lastUpdateTimeStamp
null | string format: date-time
revisionNumber
integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
monitoredAssets

Assets associated with the product for usage monitoring.

Array<object>

A usage-tracked metric on a product or entitlement. Depending on how it is charged, either AssetMeteredUsageDto? MonitoredAssetDto.MeteredUsage (tiered, period-based metering) or AssetBalanceUsageDto? MonitoredAssetDto.BalanceUsage (prepaid credit balance) is attached.

object
id
string format: uuid
entitlementId
null | string format: uuid
productId
null | string format: uuid
metricName
string
name
string
description
string
unit
string
category
string
tags
Array<string>
numberFormat
string
metricType

How reported usage values are interpreted and aggregated by the monitoring pipeline.

Allowed values: CumulativeCounter TotalCounter Gauge UpDownCounter
meteredUsageId
null | string format: uuid
meteredUsage
One of:
null
balanceUsageId
null | string format: uuid
balanceUsage
One of:
null
allowedBackDatingTolerance

How far in the past a reported usage value’s timestamp may lie and still be accepted.

string
/^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$/
metrics

Lightweight metric definitions for this product.

Array<object>

A lightweight metric definition on a product: the machine name clients report usage under, plus display metadata (name, unit, category, number format).

object
id
string format: uuid
productId
string format: uuid
metricName

Machine identifier clients report usage under (as opposed to the display string ProductMetricDto.Name).

string
name
string
description
null | string
metricType

How reported usage values are interpreted and aggregated by the monitoring pipeline.

Allowed values: CumulativeCounter TotalCounter Gauge UpDownCounter
unit
string
category
string
numberFormat

Display format hint, e.g. "0" or "0.0".

string
propertyValues

Custom properties for storing additional information associated with the product.

object
key
additional properties

A custom key/value property (e.g. on a product) with optional metadata entries.

object
key
string
value
string
metadata
Array<object> | null

A key/value metadata entry attached to a PropertyValueDto.

object
key
string
value
string
visibility

Whether a custom property is sent to the application with its license.

Allowed values: Private Public
isDeleted
boolean
createdAt
string format: date-time
updatedAt
null | string format: date-time
revisionNumber
integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
isLocked

Indicates if the product is locked for editing. Locked products cannot be modified.

boolean
applicationScopes

List of application scopes that are authorized to use this product. Application scopes define which application types or deployment targets can activate this product. If null or empty, any application can use this product (no scope restrictions).

Array<string> | null
parentProductId

Parent product ID if this product belongs to an inherited version lineage.

null | string format: uuid
referencedBy
One of:
null
features
Array<object>

A feature as granted on a specific entitlement: the product feature definition plus the entitlement-level value, enablement, and expiration overrides.

object
id
string format: uuid
featureCode
string
productId
string format: uuid
moduleName
null | string
name
string
description
null | string
value
null | string
isEnabled
boolean
isAvailableDuringTrialPeriod
boolean
isAvailableDuringGracePeriod
boolean
isPaidFeature

When true, the feature is withheld for the duration of a trial even if enabled.

boolean
canModifyValueOnEntitlement

True when the product allows this feature’s value to be overridden per entitlement.

boolean
includeInLicenseToken

Read-only. Whether the feature is written into the signed license, copied from the product feature when the product was attached. False keeps it out of the token while it is still listed as included on the activation response and the customer’s pages.

boolean
meteredAssetId

Monitored asset backing a metered feature; Guid.Empty when the feature is not metered.

string format: uuid
featureExpiration

When this individual feature stops being available; null follows the entitlement’s expiration.

null | string format: date-time
catalogLifecycleStatus
One of:
null
createdAt
string format: date-time
updatedAt
string format: date-time
customerId
string format: uuid
activationPolicy
One of:
null
keyIssuancePolicy
One of:
null
claimBasedActivation
One of:
null
timeRestrictedActivationPolicy
One of:
null
trialActivationPolicy
One of:
null
subscriptionPolicy
One of:
null
anonymousTryPolicy
One of:
null
orderId
string
reference
string
externalReference

The vendor’s own reference to the external record this entitlement came from, as scheme:kind:id (e.g. sfdc:LicenseGrant__c:…). A billing provider’s subscription is not an origin: its ids live on EntitlementBillingDto? EntitlementDto.Billing.

string
customerExternalReference

The vendor’s own reference to the owning customer/account in that external system; the billing provider’s customer id lives on EntitlementBillingDto? EntitlementDto.Billing.

string
metadata

Opaque connector provenance / pass-through (mirrors Stripe metadata).

object
key
additional properties
string
billing
One of:
null
assignedPlanSetId
null | string format: uuid
assignedPlanName
null | string
governingSuiteId

The suite the plan, trial, temporary override and add-ons belong to. Attached products outside it ride along as add-ons at the values stamped on them, and still contribute their features to the license. Null only while nothing has established governance yet — the first plan-shaped assignment or an explicit suite attach.

null | string format: uuid
temporaryOverride

A time-boxed plan override on an entitlement. While the validity window is active the override plan applies instead of the assigned plan; the previous plan fields allow restoring it when the override lapses.

object
planSetId
null | string format: uuid
planName
null | string
validFromUtc
null | string format: date-time
validUntilUtc
null | string format: date-time
reason
null | string
campaignId

Campaign the override runs under, when it was applied as part of one.

null | string format: uuid
sourceOfferId

The offer whose promotion this override is; null for any other override, such as a trial or a lapsed payment.

null | string format: uuid
previousPlanSetId
null | string format: uuid
previousPlanName
null | string
promotion
One of:
null
tags

Tag names applied to this entitlement, from the tenant’s TagScopeDto.Entitlement vocabulary. Offers share that vocabulary and keep their tags across save-as-offer and order-from-offer. Vendor-facing organization only — tags never reach an entitlement snapshot, a license token, or the end-user portal.

Array<string>
applicationScopes

Application scopes set directly on the entitlement; empty means no entitlement-level restriction.

Array<string>
effectiveApplicationScopes

Resolved scopes actually enforced at activation, combining entitlement- and product-level scopes.

Array<string>
planAssignmentHistory
Array<object>

One entry in an entitlement’s plan-assignment history.

object
changedAt
string format: date-time
previousPlanSetId
null | string format: uuid
previousPlanName
null | string
newPlanSetId
null | string format: uuid
newPlanName
null | string
source

What triggered the change (e.g. manual admin action or an approved consumer plan-change request).

string
referencedBy
One of:
null
transferCount

How many devices the vendor has reset on this entitlement so it could move to another machine.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/

Not Found

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string