Skip to content

Creates a new entitlement instance from an existing offer.

POST
/api/v1/provision/admin/entitlements/offers/from-offer
curl --request POST \
--url https://example.com/api/v1/provision/admin/entitlements/offers/from-offer \
--header 'Content-Type: application/json' \
--data '{ "entitlementOfferId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "fromEntitlementOfferName": "example", "withEntitlementOfferVersion": "example", "includeTrial": true, "entitlementParameters": { "customerContactEmail": "example", "customerContactName": "example", "legalNoticeHtml": "example", "description": "example", "name": "example", "version": "example", "status": "Draft", "isOffer": true, "issueOnUserRegistration": true, "allowAnonymousTry": true, "customerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "orderId": "example", "reference": "example", "licenseKey": "example", "assignedPlanSetId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "assignedPlanName": "example", "externalReference": "example", "customerExternalReference": "example", "metadata": "example", "tags": [ "example" ], "campaignId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "licenseActivationWorkflowParameters": { "requiredAuthenticationLevel": "Default", "preAuthorizedDevices": [ "example" ], "fingerprint": "example", "maxDeviceActivations": 1, "useEntitlementMaxActivations": true, "activationCode": "example", "email": "example", "isTrialActivation": true, "requiresUserConsent": true, "sendUserNotification": true, "organizationGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "requiredUserId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "expirationTimeStamp": "2026-04-15T12:00:00Z" } }'

Offer id and target metadata for the new entitlement.

Admin request to create a new entitlement by cloning an entitlement offer, optionally overriding entitlement fields and creating an activation workflow in the same call.

object
entitlementOfferId

Offer to clone. Alternatively address the offer by string? CreateEntitlementFromOfferRequestDto.FromEntitlementOfferName.

string format: uuid
fromEntitlementOfferName

Offer name lookup, used when Guid CreateEntitlementFromOfferRequestDto.EntitlementOfferId is not supplied.

null | string
withEntitlementOfferVersion

Narrows the name lookup to a specific offer version; null matches regardless of version.

null | string
includeTrial

Whether the new entitlement keeps the offer’s trial. Null/true carries the offer’s TrialActivationPolicy over unchanged; false strips it, producing a regular (non-trial) license from a trial offer.

null | boolean
entitlementParameters

Admin update payload for an entitlement; null properties leave the existing value unchanged. Use UpdateEntitlementDto UpdateEntitlementDto.FromEntitlement(EntitlementDto entitlement) to prefill from a current EntitlementDto.

object
customerContactEmail
null | string
customerContactName
null | string
legalNoticeHtml
null | string
description
null | string
name
null | string
version
null | string
status
One of:
null
isOffer
null | boolean
issueOnUserRegistration

On offers: self-registered users automatically get their own entitlement cloned from this offer when their email is confirmed.

null | boolean
allowAnonymousTry

On offers: visitors can use the application without an account, on a short-lived license issued per device. Needs an anonymous try policy as well.

null | boolean
customerId
null | string format: uuid
orderId
null | string
reference
null | string
licenseKey
null | string
assignedPlanSetId
null | string format: uuid
assignedPlanName
null | string
externalReference
null | string
customerExternalReference
null | string
metadata
null | object
tags

Replacement set of tag names from the TagScopeDto.Entitlement vocabulary. Null leaves the current tags unchanged; an empty list clears them; a list replaces the set wholesale. Names not yet in the registry are created there.

Array<string> | null
campaignId

Honored on create paths only (manual create and from-offer issuance): attributes the new entitlement to the campaign with an Issuance touch. Ignored on plain updates — manage attribution afterwards via the campaign-attribution endpoints.

null | string format: uuid
licenseActivationWorkflowParameters

Admin request to create a license activation workflow for an entitlement: the contract (authentication level, code, device/user restrictions, limits) under which end users may activate. Null properties fall back to entitlement or platform defaults.

object
requiredAuthenticationLevel

Authentication level a user must meet before a license activation is permitted. Used on activation policies and activation workflows.

Allowed values: Default Anonymous IdentityVerification IdentityProvider
preAuthorizedDevices
Array<string> | null
fingerprint
null | string
maxDeviceActivations
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
useEntitlementMaxActivations
null | boolean
activationCode
null | string
email
null | string
isTrialActivation
null | boolean
requiresUserConsent
null | boolean
sendUserNotification
null | boolean
organizationGroupId
null | string format: uuid
requiredUserId
null | string format: uuid
expirationTimeStamp
null | string format: date-time

OK

Bad Request

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

Unauthorized

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

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