Zentitle2 Management API (2024-01-01:v1.0.663)

Download OpenAPI specification:Download

Overview

This is the documentation for Zentitle2 Software Licensing Platform for SaaS and On-Premise applications.

Please provide feedback to your account manager on things you like and things you'd like to see.

Authentication

Zentitle2 Management API uses OAuth2 over https to manage authentication and authorization.

OAuth2 is an open standard for authorization that enables applications to securely access resources from other apps or services. We use client_credentials flow in the API.

In the client credentials flow, the app sends a request to the authorization server's token endpoint with its client ID and secret, which are used to authenticate the app. If the request is successful, the authorization server returns an access token, which the app can use to access protected resources on the resource server.

The client credentials flow is typically used by server-side apps or apps that run in a trusted environment, such as a secure server or device. It allows these apps to access protected resources on behalf of themselves, rather than on behalf of a user. This grant type is not suitable for browser-based apps or mobile apps, as it does not involve user interaction and does not provide a way for users to grant access to their protected resources.

Here is an example of how to generate client credentials for OAuth2:

  1. Register your application in the Zentitle2 administration site in the "API Credentials" section.

  2. During the registration process, the authorization server will provide you with a client secret for your provided client ID. These are unique, secret values that identify your app and are used to authenticate your requests to the authorization server.

  3. In order to use the client credentials grant type, your app must be able to securely store the client ID and secret. These values should never be shared or exposed to anyone outside of your app, as they provide access to the authorization server on your app's behalf.

  4. Once you have securely stored the client ID and secret, you can begin making requests to the authorization server's token endpoint using the client credentials grant type. This typically involves sending a POST request to the token endpoint, with the client ID and secret provided in the request body.

  5. You will find the token endpoint URL in the Zentitle2 administration site in the "API Credentials" section. Please be aware that the token endpoint URL provided in the UI is the main URL to the IDP for your account. To make a request to the token endpoint, you will need to append /protocol/openid-connect/token to the URL.

  6. If the request is successful, the authorization server will return an access token, which can be used to access protected resources on the resource server. The access token may also include a refresh token, which can be used to obtain a new access token when the original one expires.

Here is an example code in JavaScript that gets the access token:

var body = 'grant_type=client_credentials'
            + '&client_id=' + clientId
            + '&client_secret=' + clientSecret;
pm.sendRequest({
    url: oauth_url + '/protocol/openid-connect/token',
    method: 'POST',
    header: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'application/json'
    },
    body: {
        mode: 'raw',
        raw: body
    }
}, function (err, res) {
    var response = res.json();
    environment.set("access_token", response.access_token);
    environment.set("token_time", Date.now() + response.expires_in * 1000);
});

Access token should be sent with every API request in the Authorization header as:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI...

Whenever the Authorization section for an endpoint contains more than one role in the list, it means that any of those roles is sufficient to access this endpoint.

API requires one more header to be set with Id of your Zentitle2 tenant, for example:

N-TenantId: t_KRwhRp1yl0_9gsZjE5Yjaw

Date and Time

The Zentitle2 API adheres to the ISO 8601 standard for date and time formatting. For instance, "2021-12-31T23:59:59Z" signifies the final second of the year 2021 in the UTC time zone. The backend systems of Zentitle2 function in UTC, and as such, all DateTime fields returned by the API are also in UTC. To enhance the usability of our API, we accept datetime values in several formats:

  • 2021-12-31T23:59:59Z - UTC time
  • 2021-12-31T23:59:59 - dates without timezone information are assumed to be UTC time
  • 2021-12-31T23:59:59+01:00 - time with timezone information

Postman Configuration

It's very easy to setup Postman to use with Zentitle2 Management API.

  1. Download OpenAPI specification (top of this page)
  2. Import downloaded file to Postman
  3. Select "No Auth" in the Auth tab (auth will be done using pre-request script).
  4. Add following script in the pre-request script tab:
pm.environment.set("baseUrl", pm.environment.get("zentitleApiUrl"));

var setAuthHeaders = () => {
    pm.request.headers.add({key: 'N-TenantId', value: pm.environment.get("tenantId") });
    pm.request.headers.add({key: 'Authorization', value: pm.environment.get("oauth_token") });
};

if (pm.environment.get("token_time") && pm.environment.get("token_time") > Date.now()) {
    setAuthHeaders();
    return;
}

var body = 'grant_type=client_credentials'
    + '&client_id=' + pm.environment.get("clientId")
    + '&client_secret=' + pm.environment.get("clientSecret");
pm.sendRequest({
    url: pm.environment.get("oauth_url"),
    method: 'POST',
    header: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'application/json'
    },
    body: {
        mode: 'raw',
        raw: body
    }
}, function (err, res) {
    var response = res.json();
    pm.environment.set("oauth_token", 'Bearer ' + response.access_token);
    pm.environment.set("token_time", Date.now() + response.expires_in * 1000);

    setAuthHeaders();
});
  1. Set up a new Postman Environment using the JSON configuration file downloaded from Zentitle2.

    • Start by launching Zentitle 2 and navigating to the 'Account > API Credentials' section.
    • Locate the 'Management API Clients' box and click on the 'Add API Client' button.
    • Provide a unique Client ID and remember to save it.
    • To download your configuration file, click on the 'Download Postman environment configuration' button.
    • Once you have your configuration file, open the Postman application.
    • In the left sidebar of the Postman application, click on the 'Environments' tab.
    • Inside the Environments tab, find and click on the 'Import' button.
    • A dialog box will appear. Click on 'files' and navigate to the location where your JSON file is stored.
    • Select the JSON file that contains the Postman environment variables and click on 'Open'.
    • Postman will import the environment variables from the JSON file. These variables will be visible in the 'Environments' section in the sidebar.
    • To use the imported environment, select it from the environment dropdown. This dropdown is located in the top right corner of the Postman application.

Responses

Status Meaning Description
200 OK Returned after successful GET requests, body contains requested data
201 Created Returned after successful POST request, body contains created object
204 No Content Returned after successful PUT and DELETE requests. Body is empty

In case of an error, API returns error status code along with ApiError object if applicable.

Errors

Status Meaning Description
400 Bad Request can not parse request body or parameters
401 Unauthorized missing or invalid access token
402 Request Failed parameters were valid but the request failed
403 Forbidden insufficient permissions to perform request
404 Not Found requested resource has not been found
409 Conflict request conflicts with the current state
422 Unprocessable entity request parses correctly, but fails validation
429 Too many requests too many requests hit the API too quickly
500, 502, 503, 504 Server errors something went wrong on Zentitle's end

General entitlement operations

Create entitlement group

Create entitlement using product sku. All other parameters are optional. CustomerId can be used to tracing other entitlement of the same customer. Activation code is also optional and if not provided it will be generated automatically. If 3rd party activation codes source is used it should be provided on this call. This call will create entitlement group what will contain one or more entitlements that's is defined by offering specification.

Authorizations:
Bearer
Request Body schema: application/json
required

Properties required to create entitlement

customerId
string or null <CustomerId>

Optional customer id

sku
required
string [ 1 .. 20 ] characters

Unique offering identifier

activationCode
string or null^[A-Z0-9][A-Z0-9-]{0,48}[A-Z0-9]$

Optional activation code

orderRefId
string or null <= 50 characters

Optional order reference number

Responses

Request samples

Content type
application/json
{
  • "customerId": "cust_n1bmaIvXnEW7DOl0w5EiHQ",
  • "sku": 1000,
  • "activationCode": "^AA$",
  • "orderRefId": "string"
}

Response samples

Content type
application/json
{
  • "id": "egr_gH1hGJ3BgE1LTRYd9-k1tg",
  • "created": "2019-08-24T14:15:22Z",
  • "customerId": "cust_n1bmaIvXnEW7DOl0w5EiHQ",
  • "customer": {
    },
  • "orderRefId": "string",
  • "entitlements": [
    ],
  • "activationCodes": [
    ]
}

Get entitlement list

This method returns list of entitlements that can be filtered by following query parameters

Authorizations:
Bearer
query Parameters
pageNumber
integer <int32>
Example: pageNumber=1

Requested page number

pageSize
integer <int32>
Example: pageSize=10

Maximum number of items per page

customerId
string or null <CustomerId>
Example: customerId=cust_n1bmaIvXnEW7DOl0w5EiHQ

Customer identifier

productId
string or null <ProductId>
Example: productId=prod_oH_hPJ3BgE1LTRYd9-kAtg

Product identifier

expand
string or null
Example: expand=customer

Expand configuration

Responses

Response Schema: application/json
Array of objects (EntitlementListModel)

Array of items matching specified query filters

Array
id
string <EntitlementId>

Entitlement identifier

(EntitlementGroupExpandedModel (object or null))

Entitlement group object

sku
string

Unique offering identifier

offeringName
string

Offering name

LicenseType (string)

License type

LicenseStartType (string)

License start type

IntervalType (string)

License duration type

licenseDurationCount
integer or null

License duration count

seatCount
integer <int32>

Total seats available on entitlement

OverdraftSeatLimitModel (object)

Overdraft seat limit

seatsUsed
integer <int32>

Number of seats currently in use

seatsAvailable
integer

Number of seats available to activate

overdraftSeatsUsed
integer or null <int32>

Number of overdraft seats currently in use. Null if OverdraftSeatLimit is None.

seatUtilizationRate
integer <int32>

Percentage of seats that are currently occupied [(SeatsUsed / SeatCount) x 100%]

activationDate
string or null <date-time>

Date when entitlement was activated

expiryDate
string or null <date-time>

Date when entitlement expires

exported
boolean

Indicates if entitlement has been exported to a local license server

pageSize
integer <int32>

Requested page size or default page size if not specified

pageNumber
integer <int32>

Requested page number of first page otherwise

elementsTotal
integer <int32>

Total number of elements matching filter criteria

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pageSize": 10,
  • "pageNumber": 1,
  • "elementsTotal": 1
}

Get entitlement

This method returns entitlement details

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

query Parameters
expand
string or null
Example: expand=product,attributes,features,offering

Expand configuration

Responses

Response Schema: application/json
id
string <EntitlementId>

Entitlement identifier

sku
string

Unique offering identifier

offeringName
string

Offering name

LicenseType (string)

License type

One of
string (LicenseType)
Enum: "subscription" "perpetual"

License type

LicenseStartType (string)

License start type

One of
string (LicenseStartType)
Enum: "activation" "entitlementCreation" "custom" "manualActivation"

License start type

IntervalType (string)

License duration type

One of
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"

License duration type

licenseDurationCount
integer or null

License duration count

hasMaintenance
boolean

Maintenance enabled

Interval (object)

Maintenance duration

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
seatCount
integer <int32>

Seat capacity of the entitlement (excluding overdraft)

OverdraftSeatLimitModel (object)

Overdraft seat limit

One of
OverdraftSeatLimitType (string)

Overdraft Limit Type

One of
string (OverdraftSeatLimitType)
Enum: "none" "absolute" "percentage" "unlimited"

Overdraft Limit Type

value
integer or null <int32>

Overdraft Limit Value

overdraftSeatCount
integer or null <int32>

Overdraft seats available on entitlement. Null if unlimited.

seatsUsed
integer <int32>

Number of seats currently in use including overdraft seats

overdraftSeatsUsed
integer or null <int32>

Number of overdraft seats currently in use. Null if OverdraftSeatLimit is None.

seatUtilizationRate
integer <int32>

Percentage of seats that are currently occupied [(SeatsUsed / SeatCount) x 100%]

seatsAvailable
integer or null <int32>

Number of seats available to activate. Null if unlimited.

provisioningDate
string or null <date-time>

Date when entitlement provisioning was started

activationDate
string or null <date-time>

Date when entitlement was activated

expiryDate
string or null <date-time>

Date when entitlement expires

maintenanceExpiryDate
string or null <date-time>

Date when maintenance expires

disabledDate
string or null <date-time>

Date when entitlement was disabled

ConcurrencyMode (string)

Concurrency mode

One of
string (ConcurrencyMode)
Enum: "concurrent" "nodeLock"

Concurrency mode

Interval (object)

Lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Offline lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Grace period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Linger period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
gracePeriodExpiry
string or null <date-time>

Date when entitlement grace period expires

EntitlementStatus (string)

Status of entitlement

One of
string (EntitlementStatus)
Enum: "active" "gracePeriod" "expired" "disabled" "exported" "created" "customerDisabled"

Status of entitlement

Array of objects or null (EntitlementFeatureModel)

Array of entitlement features

Array
id
string <FeatureDefinitionId>

Feature identifier

FeatureType (string)

Feature type

key
string

Feature key

value
integer or null <int64>

Feature value

used
integer or null <int64>

Feature current usage

edited
boolean

Indicates if feature value was edited

OverdraftSeatLimitModel (object)

Overdraft limit applied to this feature

Array of objects or null (EntitlementAttributeModel)

Array of entitlement attributes

Array
id
string <AttributeDefinitionId>

Attribute identifier

AttributeType (string)

Attribute type

key
string

Attribute key

value
string or null

Attribute value

edited
boolean

Indicates if attribute value was edited

productId
string <ProductId>

Id of product licensed by entitlement

(ProductModel (object or null))

Expanded product object

One of
id
string <ProductId>

Product identifier

name
string

Product name

Interval (object)

Lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Offline lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Grace period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Linger period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
exported
boolean

Indicates if entitlement has been exported

(EntitlementExportModel (object or null))

Expanded export object (if Exported = true)

One of
exportDate
string <date-time>

Date when the initial entitlement export has been performed

lastExportDate
string <date-time>

Date when the entitlement data have been exported for the last time

outOfSync
boolean

Indicates if entitlement has changes, which were not propagated to the LLS yet

LocalLicenseServerModel (object)

LLS the entitlement has been exported into

One of
id
string <LocalLicenseServerId>

Local license server identifier

name
string

Local license server name

activationId
string <ActivationId>

Activation identifier linked to the LLS product

activated
string <date-time>

Date when Local license server's seat has been activated

lastLease
string <date-time>

Date when activation was created/last extended

leaseExpiry
string <date-time>

Exclusive seat lease expiry date

deactivated
string or null <date-time>

Date when Local license server's seat has been deactivated, null otherwise

licenseActive
boolean

True if Local license server's license is active, false otherwise

entitlementGroupId
string or null <EntitlementGroupId>

Entitlement group identifier

planName
string

Plan name

object or null

Actions possible to execute with API urls

additional property
object (ApiActionModel)
method
string
path
string
offeringId
string <OfferingId>

Offering identifier

(EntitlementOfferingModel (object or null))

Expanded offering object

One of
id
string <OfferingId>

Offering identifier

seatCount
integer <int32>

Offering seat count

OverdraftSeatLimitModel (object)

Overdraft seat limit

One of
OverdraftSeatLimitType (string)

Overdraft Limit Type

value
integer or null <int32>

Overdraft Limit Value

Array of objects (EntitlementOfferingAttributeModel)

Array of attributes

Array
id
string <AttributeDefinitionId>

Attribute identifier

key
string or null

Attribute key

value
string or null

Attribute value

Array of objects (EntitlementOfferingFeatureModel)

Array of offering features

Array
id
string <FeatureDefinitionId>

Feature identifier

key
string or null

Feature key

value
integer or null <int64>

Feature value

(OverdraftSeatLimitModel (object or null))

Overdraft limit applied to this feature

(EntitlementEditInfoModel (object or null))

Information about edited fields

One of
leasePeriodEdited
boolean

Indicates if lease period was edited

gracePeriodEdited
boolean

Indicates if grace period was edited

lingerPeriodEdited
boolean

Indicates if linger period was edited

offlineLeasePeriodEdited
boolean

Indicates if offline lease period was edited

seatCountEdited
boolean

Indicates if seat count was edited

overdraftSeatLimitEdited
boolean

Indicates if overdraft seat limit was edited

(PlanType (string or null))

Plan type

One of
string or null (PlanType)
Enum: "trial" "paid" "notForResale" "internal" "beta" "free"

Plan type

Response samples

Content type
application/json
{
  • "id": "ent_oH_hPJ3BgEO172Yd9-KuTg",
  • "sku": 1000,
  • "offeringName": "Elevate Standard 1year subscription 1seat",
  • "licenseType": "subscription",
  • "licenseStartType": "activation",
  • "licenseDurationType": "year",
  • "licenseDurationCount": 1,
  • "hasMaintenance": true,
  • "maintenanceDuration": {
    },
  • "seatCount": 10,
  • "overdraftSeatLimit": {
    },
  • "overdraftSeatCount": 2,
  • "seatsUsed": 5,
  • "overdraftSeatsUsed": 0,
  • "seatUtilizationRate": 50,
  • "seatsAvailable": 7,
  • "provisioningDate": "2019-08-24T14:15:22Z",
  • "activationDate": "2019-08-24T14:15:22Z",
  • "expiryDate": "2019-08-24T14:15:22Z",
  • "maintenanceExpiryDate": "2019-08-24T14:15:22Z",
  • "disabledDate": "2019-08-24T14:15:22Z",
  • "concurrencyMode": "concurrent",
  • "leasePeriod": {
    },
  • "offlineLeasePeriod": {
    },
  • "gracePeriod": {
    },
  • "lingerPeriod": {
    },
  • "gracePeriodExpiry": "2019-08-24T14:15:22Z",
  • "status": "active",
  • "features": [
    ],
  • "attributes": [
    ],
  • "productId": "prod_oH_hPJ3BgEO187Yd9-kuTg",
  • "product": {
    },
  • "exported": true,
  • "export": {
    },
  • "entitlementGroupId": "egr_gH1hGJ3BgE1LTRYd9-k1tg",
  • "planName": "1 month subscription",
  • "actions": "{\"Activate\", \"/api/entitlements/ent_oH_hPJ3BgEO172Yd9/activate\"}",
  • "offeringId": "off_bH_hPJ3BgEO187Yd9-kuTg",
  • "offering": {
    },
  • "editInfo": {
    },
  • "planType": "Paid"
}

Update entitlement

Allows to change settings of selected entitlement, including attributes and features. Only provided features and attributes will be processed. If the caller has no intentions to update features or attributes those field can be sent as null and all values will remain intact

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

query Parameters
forceSeatCount
boolean

Force seat count change

Request Body schema: application/json
required

Properties required to update entitlement

seatCount
integer or null <int32> [ 1 .. 2147483647 ]

Number of seats

(OverdraftSeatLimitApiRequest (object or null))

Overdraft seat limit

One of
required
OverdraftSeatLimitType (string)

Overdraft Limit Type

One of
string (OverdraftSeatLimitType)
Enum: "none" "absolute" "percentage" "unlimited"

Overdraft Limit Type

value
integer or null <int32>

Overdraft limit value

expiryDate
string or null <date-time>

Entitlement expiration date

hasMaintenance
boolean or null

Maintenance Enabled

maintenanceExpiryDate
string or null <date-time>

Maintenance Expiry Date

(Interval (object or null))

Lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
(Interval (object or null))

Offline lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
(Interval (object or null))

Grace period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
(Interval (object or null))

Linger period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Array of objects (UpdateAttribute)

Array of attributes to update

Array
id
required
string <AttributeDefinitionId>

Attribute identifier

value
string or null <= 500 characters

Attribute value

Array of objects (UpdateFeature)

Array of features to update

Array
id
required
string <FeatureDefinitionId>

Feature identifier

value
integer or null <int64> [ 0 .. 9223372036854780000 ]

New value for feature

(OverdraftSeatLimitApiRequest (object or null))

Overdraft limit

Responses

Request samples

Content type
application/json
{
  • "seatCount": 10,
  • "overdraftSeatLimit": {
    },
  • "expiryDate": "2019-08-24T14:15:22Z",
  • "hasMaintenance": true,
  • "maintenanceExpiryDate": "2019-08-24T14:15:22Z",
  • "leasePeriod": {
    },
  • "offlineLeasePeriod": {
    },
  • "gracePeriod": {
    },
  • "lingerPeriod": {
    },
  • "attributes": [
    ],
  • "features": [
    ]
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Activate entitlement

This method change state of entitlement that seats can be activated. Depending of offering configuration entitlement can be activated during entitlement creation

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Change entitlement offering

This method allows the change of an entitlement offering. This method can only modify the entitlement to a different offering if the new offering belongs to the same product. If the new offering has a lower seat count than the seats currently used in the entitlement, it will fail unless the 'forceSeatCount' query string parameter is set to true. If the seat count or overdraft settings were manually edited before, they will not be changed by this method. This method will also update all entitlement features and attributes to match the new offering, unless they were previously changed. All usage count feature usages will be reset. If the entitlement has not been activated yet and the offering has been configured to activate the entitlement upon creation, it will be applied by this method. For subscription offerings, it will also update the entitlement expiry date to match the new offering, starting from the current date.

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

query Parameters
forceSeatCount
boolean

Force seat count change

Request Body schema: application/json
required

Properties required to change entitlement offering

offeringId
required
string <OfferingId>

Offering identifier

Responses

Request samples

Content type
application/json
{
  • "offeringId": "off_bH_hPJ3BgEO187Yd9-kuTg"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Reset entitlement overrides

This method allows to reset entitlement overrides to match current product configuration. Each field can be reset individually by setting corresponding field to true. This method can also to restore current configuration for features and attributes by sending appropriate keys literals in features and attributes arrays. If any of requested fields was not overridden but current product configuration is different from default it still will be updated with current value from product configuration. If reset seatCount or overdraftSeatLimit fields where used and current product configuration results in lower seat count than seats currently used in entitlement it will fail unless forceSeatCount query string parameter is set to true.

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

query Parameters
forceSeatCount
boolean

Force seat count change

Request Body schema: application/json
required

Properties required to reset entitlement overrides

resetLeasePeriod
boolean or null

Reset lease period

resetOfflineLeasePeriod
boolean or null

Reset offline lease period

resetGracePeriod
boolean or null

Reset grace period

resetLingerPeriod
boolean or null

Reset linger period

resetSeatCount
boolean or null

Reset seat count

resetOverdraftSeatLimit
boolean or null

Reset overdraft seat limit

resetFeatures
Array of strings or null

Reset features from array

resetAttributes
Array of strings or null

Reset attributes from array

Responses

Request samples

Content type
application/json
{
  • "resetLeasePeriod": true,
  • "resetOfflineLeasePeriod": true,
  • "resetGracePeriod": true,
  • "resetLingerPeriod": true,
  • "resetSeatCount": true,
  • "resetOverdraftSeatLimit": true,
  • "resetFeatures": [
    ],
  • "resetAttributes": [
    ]
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Renew entitlement

Renews a subscription entitlement. This method is specially designed for renewal of previously activated subscription entitlements. The new expiry date is determined using following rules:

  • If the expiration date has passed but the grace period is active, the new expiry date will be calculated by adding the subscription period to the current expiry date.
  • If the grace period has either expired or not defined at all, the expiry date will be computed by adding the subscription period to the current date.
  • If the expiry date is still in the future, the new expiry date will be determined by adding the subscription period to the current expiry date.

This method also resets all usage count feature usage at the beginning of the new subscription period.

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

List of entitlement activations

This method returns list of entitlement activation that can be filtered by following query parameters

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

query Parameters
pageNumber
integer <int32>
Example: pageNumber=1

Requested page number

pageSize
integer <int32>
Example: pageSize=10

Maximum number of items per page

seatId
string or null
Example: seatId=user@boeing.com

Seat id

Responses

Response Schema: application/json
Array of objects (ActivationModel)

Array of items matching specified query filters

Array
id
string <ActivationId>

Activation identifier

ActivationMethod (string)

Activation method

ActivationStatus (string)

Activation status

leaseExpiry
string <date-time>

Exclusive seat lease expiry date

productId
string or null <ProductId>

Id of product licensed by entitlement

entitlementId
string or null <EntitlementId>

Id of entitlement

seatId
string

Unique id of seat provided by external system

seatName
string or null

Optional name of seat provided by external system

username
string or null

Optional name of the user

activated
string <date-time>

Activation creation date

lastLease
string <date-time>

Date when activation was created/last extended

lingerExpiry
string or null <date-time>

Date until this seat cannot be reused

deactivated
string or null <date-time>

Date activation was deactivated and cannot be longer used

ActivationMode (string)

Activation mode

pageSize
integer <int32>

Requested page size or default page size if not specified

pageNumber
integer <int32>

Requested page number of first page otherwise

elementsTotal
integer <int32>

Total number of elements matching filter criteria

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pageSize": 10,
  • "pageNumber": 1,
  • "elementsTotal": 1
}

Log of activations activity

This method returns log of activations activity on the entitlement

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

query Parameters
pageNumber
integer <int32>
Example: pageNumber=1

Requested page number

pageSize
integer <int32>
Example: pageSize=10

Maximum number of items per page

seatId
string or null
Example: seatId=john.doe@elevate.com

Seat id

dateFrom
string or null <date-time>

Date from

dateTo
string or null <date-time>

Date to

Responses

Response Schema: application/json
Array of objects (ActivationLogModel)

Array of items matching specified query filters

Array
activationId
string or null <ActivationId>

Activation identifier

seatId
string

Unique id of seat provided by external system

timestamp
string <date-time>

Operation timestamp

ActivationOperation (string)

Activation operation kind

leaseExpiry
string or null <date-time>

Activation lease expiry time

LocationModel (object)

Location from which this activation was requested

pageSize
integer <int32>

Requested page size or default page size if not specified

pageNumber
integer <int32>

Requested page number of first page otherwise

elementsTotal
integer <int32>

Total number of elements matching filter criteria

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pageSize": 10,
  • "pageNumber": 1,
  • "elementsTotal": 1
}

Reset usage count of a feature

Only usage count features can be reset

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

featureId
required
string <FeatureDefinitionId>
Example: feat_B2ghPJ3BgE1LTRYd9-kAtg

Feature identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Export entitlement and delegate it to the Local License Server

This method exports the entitlement, freezes it, and generates a token containing all the necessary data for import into the Local License Server

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Request Body schema: application/json
required
localLicenseServerId
required
string <LocalLicenseServerId>

Local license server that the entitlement should be imported to

Responses

Response Schema: application/json
token
string

Token for importing the entitlement into the local license server

Request samples

Content type
application/json
{
  • "localLicenseServerId": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Generate entitlement export token

This method generates a token containing the up-to-date entitlement data for import into the Local License Server

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response Schema: application/json
token
string

Token for importing the entitlement into the local license server

Response samples

Content type
application/json
{
  • "token": "string"
}

Import entitlement back from the Local License Server

This method ends the current LLS export session and changes the entitlement host back to cloud

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Request Body schema: application/json
required
token
string or null

Token received when deleting the entitlement from the Local License Server

importWithoutToken
boolean

True if the entitlement should be imported without the token, false otherwise

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "importWithoutToken": true
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Trigger provision event

This method triggers provision webhook event for the entitlement

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Reset provision status

This method resets provision date for the entitlement

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Disable entitlement

This method disables entitlement. Disabled entitlement cannot be activated.

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Enable entitlement

This method re-enables entitlement. Enabled entitlement can be used normally.

Authorizations:
Bearer
path Parameters
entitlementId
required
string <EntitlementId>
Example: ent_oH_hPJ3BgEO172Yd9-KuTg

Entitlement identifier

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Activations

Create activation

Activate entitlement for provided seat id and create activation that can be used feature management This method will work only when entitlement was created before create activation is called.

Authorizations:
Bearer
Request Body schema: application/json
required

Properties required to create activation

productId
required
string <ProductId>

Id of a product that will be activated

activationCode
string or null <= 50 characters

Activation code DEPRECATED (will be removed): Use activationCredentials instead

(ActivationCredentialsModel (object or null))

Credentials required to activate the entitlement

One of
type
required
string (ActivationMethod)
code
required
string [ 1 .. 50 ] characters
seatId
required
string [ 1 .. 100 ] characters

Identifier that will identify computer or account for which activation will be created

seatName
string or null <= 50 characters

Optional name of seat for the activation

Responses

Request samples

Content type
application/json
{
  • "productId": "prod_XbhrtXtWRUCzpSF8JPqLTw",
  • "activationCode": null,
  • "activationCredentials": {
    },
  • "seatId": "john.doe@elevate.com",
  • "seatName": "John Doe"
}

Response samples

Content type
application/json
{
  • "id": "act_oH_hPJ3BgE0LTRYd9-k1tg",
  • "activationMethod": "activationCode",
  • "status": "active",
  • "leaseExpiry": "2019-08-24T14:15:22Z",
  • "productId": "prod_oH_hPJ3BgEO187Yd9-kuTg",
  • "entitlementId": "ent_oH_hPJ3BgEO172Yd9-KuTg",
  • "seatId": "user@boeing.com",
  • "seatName": "User Boeing",
  • "username": "User Boeing",
  • "activated": "2019-08-24T14:15:22Z",
  • "lastLease": "2019-08-24T14:15:22Z",
  • "lingerExpiry": "2019-08-24T14:15:22Z",
  • "deactivated": "2019-08-24T14:15:22Z",
  • "mode": "online"
}

Refresh activation

Refresh lease time of provided seat activation

Authorizations:
Bearer
Request Body schema: application/json
required

Properties required to refresh activation

activationId
required
string <ActivationId>

Id of a seat activation that will be refreshed

Responses

Response Schema: application/json
id
string <ActivationId>

Activation identifier

ActivationMethod (string)

Activation method

One of
string (ActivationMethod)
Enum: "activationCode" "openIdToken" "password"

Activation method

ActivationStatus (string)

Activation status

One of
string (ActivationStatus)
Enum: "active" "linger" "leaseExpired"

Activation status

leaseExpiry
string <date-time>

Exclusive seat lease expiry date

productId
string or null <ProductId>

Id of product licensed by entitlement

entitlementId
string or null <EntitlementId>

Id of entitlement

seatId
string

Unique id of seat provided by external system

seatName
string or null

Optional name of seat provided by external system

username
string or null

Optional name of the user

activated
string <date-time>

Activation creation date

lastLease
string <date-time>

Date when activation was created/last extended

lingerExpiry
string or null <date-time>

Date until this seat cannot be reused

deactivated
string or null <date-time>

Date activation was deactivated and cannot be longer used

ActivationMode (string)

Activation mode

One of
string (ActivationMode)
Enum: "online" "offline"

Activation mode

Request samples

Content type
application/json
{
  • "activationId": "act_oH_hPJ3BgE0LTRYd9-k1tg"
}

Response samples

Content type
application/json
{
  • "id": "act_oH_hPJ3BgE0LTRYd9-k1tg",
  • "activationMethod": "activationCode",
  • "status": "active",
  • "leaseExpiry": "2019-08-24T14:15:22Z",
  • "productId": "prod_oH_hPJ3BgEO187Yd9-kuTg",
  • "entitlementId": "ent_oH_hPJ3BgEO172Yd9-KuTg",
  • "seatId": "user@boeing.com",
  • "seatName": "User Boeing",
  • "username": "User Boeing",
  • "activated": "2019-08-24T14:15:22Z",
  • "lastLease": "2019-08-24T14:15:22Z",
  • "lingerExpiry": "2019-08-24T14:15:22Z",
  • "deactivated": "2019-08-24T14:15:22Z",
  • "mode": "online"
}

Delete activation

Delete activation on connected entitlement. After this operation another activate operation can be process with same or different seat id This method will also return all reusable features checked out on this activation. There are some cases when activation cannot be deleted due to system constraints (one of these constraints is that activation may be in the linger period). If that's the case, 'force' query string parameter can be used to force the activation to delete.

Authorizations:
Bearer
path Parameters
activationId
required
string <ActivationId>
Example: act_oH_hPJ3BgE0LTRYd9-k1tg

Activation identifier

query Parameters
force
boolean
Example: force=true

Force activation deletion disregarding system constraints

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Get activation state

This method returns activation details including information about attributes and available features

Authorizations:
Bearer
path Parameters
activationId
required
string <ActivationId>
Example: act_oH_hPJ3BgE0LTRYd9-k1tg

Activation identifier

Responses

Response Schema: application/json
id
string <ActivationId>

Activation identifier

ActivationMethod (string)

Activation method

One of
string (ActivationMethod)
Enum: "activationCode" "openIdToken" "password"

Activation method

ActivationStatus (string)

Activation status

One of
string (ActivationStatus)
Enum: "active" "linger" "leaseExpired"

Activation status

leaseExpiry
string <date-time>

Exclusive seat lease expiry date

productId
string or null <ProductId>

Id of product licensed by entitlement

entitlementId
string or null <EntitlementId>

Id of entitlement

seatId
string

Unique id of seat provided by external system

seatName
string or null

Optional name of seat provided by external system

username
string or null

Optional name of the user

activated
string <date-time>

Activation creation date

lastLease
string <date-time>

Date when activation was created/last extended

lingerExpiry
string or null <date-time>

Date until this seat cannot be reused

deactivated
string or null <date-time>

Date activation was deactivated and cannot be longer used

ActivationMode (string)

Activation mode

One of
string (ActivationMode)
Enum: "online" "offline"

Activation mode

entitlementExpiryDate
string or null <date-time>

Entitlement expiry date (null if not expires)

entitlementGracePeriodExpiry
string or null <date-time>

Entitlement grace period expiry date (null if not used)

(EntitlementStatus (string or null))

Entitlement status

One of
string or null (EntitlementStatus)
Enum: "active" "gracePeriod" "expired" "disabled" "exported" "created" "customerDisabled"

Entitlement status

Array of objects (ActivationAttributeModel)

Array of activation attributes

Array
key
string

Attribute key

AttributeType (string)

Attribute type

value
string or null

Attribute value

Array of objects (ActivationFeatureModel)

Array of activation features

Array
key
string

Feature key

FeatureType (string)

Feature type

active
integer or null <int64>

Amount of feature being currently checked out by activation

available
integer or null <int64>

Amount of feature that is still available for checkout (amount form active filed is excluded)

total
integer or null <int64>

Total amount of feature in entitlement

Response samples

Content type
application/json
{
  • "id": "act_oH_hPJ3BgE0LTRYd9-k1tg",
  • "activationMethod": "activationCode",
  • "status": "active",
  • "leaseExpiry": "2019-08-24T14:15:22Z",
  • "productId": "prod_oH_hPJ3BgEO187Yd9-kuTg",
  • "entitlementId": "ent_oH_hPJ3BgEO172Yd9-KuTg",
  • "seatId": "user@boeing.com",
  • "seatName": "User Boeing",
  • "username": "User Boeing",
  • "activated": "2019-08-24T14:15:22Z",
  • "lastLease": "2019-08-24T14:15:22Z",
  • "lingerExpiry": "2019-08-24T14:15:22Z",
  • "deactivated": "2019-08-24T14:15:22Z",
  • "mode": "online",
  • "entitlementExpiryDate": "2019-08-24T14:15:22Z",
  • "entitlementGracePeriodExpiry": "2019-08-24T14:15:22Z",
  • "entitlementStatus": "active",
  • "attributes": [
    ],
  • "features": [
    ]
}

Checkout activation feature

This method checkouts some amount feature. Feature can be used permanently (usage count) or can be returned (element pool) using return feature method.

Authorizations:
Bearer
path Parameters
activationId
required
string <ActivationId>
Example: act_oH_hPJ3BgE0LTRYd9-k1tg

Activation identifier

Request Body schema: application/json
required

Properties required to checkout feature

key
required
string [ 1 .. 50 ] characters

Feature key

amount
required
integer <int64> [ 1 .. 9223372036854780000 ]

Amount to checkout

Responses

Request samples

Content type
application/json
{
  • "key": "Workers",
  • "amount": 1
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Return activation feature

This method returns amount of feature. Only element pool features are allowed to be returned

Authorizations:
Bearer
path Parameters
activationId
required
string <ActivationId>
Example: act_oH_hPJ3BgE0LTRYd9-k1tg

Activation identifier

Request Body schema: application/json
required

Properties required to return feature

key
required
string [ 1 .. 50 ] characters

Feature key

amount
required
integer <int64> [ 1 .. 9223372036854780000 ]

Amount of feature to return

Responses

Request samples

Content type
application/json
{
  • "key": "Workers",
  • "amount": 1
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Create offline activation

Activate entitlement for provided seat id and create activation for offline usage This method will work only when entitlement was created before create activation is called.

Authorizations:
Bearer
Request Body schema: application/json
required

Encrypted offline activation token

token
required
string non-empty

Encrypted offline activation token, containing all the info required for the seat activation

Responses

Response Schema: application/json
token
string

Signed and encrypted offline activation token, holding the activation's state

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Deactivate offline activation

Deactivate offline activation on connected entitlement. After this operation, another activate operation can be process with same or different seat id

Authorizations:
Bearer
Request Body schema: application/json
required

Encrypted offline deactivation token

token
required
string non-empty

Encrypted offline deactivation token

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Refresh offline activation

Refresh offline lease time of the provided seat activation

Authorizations:
Bearer
Request Body schema: application/json
required

Properties required to refresh activation

activationId
required
string <ActivationId>

Id of a seat activation that will be refreshed

Responses

Response Schema: application/json
token
string

Signed and encrypted offline refresh token, holding the refreshed activation's state

Request samples

Content type
application/json
{
  • "activationId": "act_oH_hPJ3BgE0LTRYd9-k1tg"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Groups

Add authorized end user

This method will add end user to the entitlement group. If end user is already added to the entitlement group, it will be ignored.

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

Request Body schema: application/json
required

Properties required to add end user to entitlement group

id
required
string <EndUserId>

User identifier

Responses

Request samples

Content type
application/json
{
  • "id": "eu_Xx_XkJrFzE2HStEdPdRing"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Remove authorized end user

This method will remove end user from the entitlement group. If end user is not authorized for this entitlement group, error will be returned.

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

Request Body schema: application/json
required

Properties required to remove end user from entitlement group

id
required
string <EndUserId>

User identifier

Responses

Request samples

Content type
application/json
{
  • "id": "eu_Xx_XkJrFzE2HStEdPdRing"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Get entitlement group authorized users

This method returns list of end users authorized for the entitlement group.

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

query Parameters
pageNumber
integer <int32>
Example: pageNumber=1

Requested page number

pageSize
integer <int32>
Example: pageSize=10

Maximum number of items per page

Responses

Response Schema: application/json
Array of objects (AuthorizedUserModel)

Array of items matching specified query filters

Array
id
string <EndUserId>

Authorized user identifier

firstName
string or null

Authorized user first name

lastName
string or null

Authorized user last name

email
string <email>

Authorized user email

pageSize
integer <int32>

Requested page size or default page size if not specified

pageNumber
integer <int32>

Requested page number of first page otherwise

elementsTotal
integer <int32>

Total number of elements matching filter criteria

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pageSize": 10,
  • "pageNumber": 1,
  • "elementsTotal": 1
}

Get entitlement group list

This method returns entitlement group list. Amount of data returned can be adjusted by using query expand parameter configuration

Authorizations:
Bearer
query Parameters
pageNumber
integer <int32>
Example: pageNumber=1

Requested page number

pageSize
integer <int32>
Example: pageSize=10

Maximum number of items per page

customerId
string or null <CustomerId>
Example: customerId=cust_n1bmaIvXnEW7DOl0w5EiHQ

Customer identifier

expand
string or null
Example: expand=customer

Expand configuration

Responses

Response Schema: application/json
Array of objects (EntitlementGroupModel)

Array of items matching specified query filters

Array
id
string <EntitlementGroupId>

Entitlement group identifier

created
string <date-time>

Entitlement group creation date

customerId
string or null <CustomerId>

Customer identifier

(CustomerModel (object or null))

Expanded customer object

orderRefId
string or null

Order reference number

Array of objects or null (EntitlementBasicModel)

Array of entitlements

activationCodes
Array of strings

Array of activation codes

pageSize
integer <int32>

Requested page size or default page size if not specified

pageNumber
integer <int32>

Requested page number of first page otherwise

elementsTotal
integer <int32>

Total number of elements matching filter criteria

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pageSize": 10,
  • "pageNumber": 1,
  • "elementsTotal": 1
}

Get entitlement group

This method returns entitlement group details. Amount of data returned can be adjusted by using query expand parameter configuration

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

query Parameters
expand
string or null
Example: expand=customer,entitlements

Expand configuration

Responses

Response Schema: application/json
id
string <EntitlementGroupId>

Entitlement group identifier

created
string <date-time>

Entitlement group creation date

customerId
string or null <CustomerId>

Customer identifier

(CustomerModel (object or null))

Expanded customer object

One of
id
string <CustomerId>

Customer identifier

name
string

Customer name

accountRefId
string or null

Customer account reference id

(CustomerStatsModel (object or null))

Customer stats

One of
entitlementsCount
integer <int32>

Customer entitlements count

disabledDate
string or null <date-time>

Customer disabled date

(CustomerStatus (string or null))

Customer status

One of
string or null (CustomerStatus)
Enum: "active" "disabled"

Customer status

object or null

Customer custom fields

property name*
additional property
string or null
orderRefId
string or null

Order reference number

Array of objects or null (EntitlementBasicModel)

Array of entitlements

Array
id
string <EntitlementId>

Entitlement identifier

sku
string

Unique offering identifier

offeringId
string <OfferingId>

Offering identifier

offeringName
string

Offering name

entitlementGroupId
string or null <EntitlementGroupId>

Entitlement group identifier

productId
string <ProductId>

Id of product licensed by entitlement

EntitlementStatus (string)

Status of entitlement

exported
boolean

Indicates if entitlement has been exported

activationCodes
Array of strings

Array of activation codes

Response samples

Content type
application/json
{
  • "id": "egr_gH1hGJ3BgE1LTRYd9-k1tg",
  • "created": "2019-08-24T14:15:22Z",
  • "customerId": "cust_n1bmaIvXnEW7DOl0w5EiHQ",
  • "customer": {
    },
  • "orderRefId": "string",
  • "entitlements": [
    ],
  • "activationCodes": [
    ]
}

Update entitlement group

Entitlement group update

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

Request Body schema: application/json
required

Properties required to update entitlement group

customerId
string or null <CustomerId>

Customer identifier

orderRefId
string or null

Order reference number

Responses

Request samples

Content type
application/json
{
  • "customerId": "cust_n1bmaIvXnEW7DOl0w5EiHQ",
  • "orderRefId": "string"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Add activation codes

This method will add activation codes to the entitlement group.

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

Request Body schema: application/json
required

Properties required to create activation code

activationCodes
required
Array of strings non-empty ^[A-Z0-9][A-Z0-9-]{0,48}[A-Z0-9]$

Activation codes

ignoreDuplicates
boolean

Duplicates will be ignored, otherwise duplicate code will return error

Responses

Request samples

Content type
application/json
{
  • "activationCodes": [
    ],
  • "ignoreDuplicates": true
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Generate activation codes

This method will generate new codes and add them to the entitlement group.

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

Request Body schema: application/json
required

Properties required to generate activation codes

count
required
integer <int32> [ 1 .. 100 ]

Number of activation codes to generate

Responses

Response Schema: application/json
activationCodes
Array of strings

Array of activation codes

Request samples

Content type
application/json
{
  • "count": 5
}

Response samples

Content type
application/json
{
  • "activationCodes": [
    ]
}

Remove activation codes

This method will remove activation codes from the entitlement group.

Authorizations:
Bearer
path Parameters
entitlementGroupId
required
string <EntitlementGroupId>
Example: egr_gH1hGJ3BgE1LTRYd9-k1tg

Entitlement group identifier

Request Body schema: application/json
required

Properties required to remove activation code

activationCodes
required
Array of strings non-empty ^[A-Z0-9][A-Z0-9-]{0,48}[A-Z0-9]$

Activation codes

ignoreMissing
boolean

Missing codes will be ignored, otherwise not found error will be returned

Responses

Request samples

Content type
application/json
{
  • "activationCodes": [
    ],
  • "ignoreMissing": true
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Local license servers

Get local license servers list

Returns list of all available local license servers

Authorizations:
Bearer

Responses

Response Schema: application/json
Array of objects (LocalLicenseServerModel)

Array of items matching specified query filters

Array
id
string <LocalLicenseServerId>

Local license server identifier

name
string

Local license server name

activationId
string <ActivationId>

Activation identifier linked to the LLS product

activated
string <date-time>

Date when Local license server's seat has been activated

lastLease
string <date-time>

Date when activation was created/last extended

leaseExpiry
string <date-time>

Exclusive seat lease expiry date

deactivated
string or null <date-time>

Date when Local license server's seat has been deactivated, null otherwise

licenseActive
boolean

True if Local license server's license is active, false otherwise

elementsTotal
integer <int32>

Total number of elements matching filter criteria

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "elementsTotal": 1
}

Get Local License Server

This method returns Local License Server details

Authorizations:
Bearer
path Parameters
localLicenseServerId
required
string <LocalLicenseServerId>
Example: lls_oH_hPJ3BgEO172Yd9-KuTg

Local License Server identifier

Responses

Response Schema: application/json
id
string <LocalLicenseServerId>

Local license server identifier

name
string

Local license server name

activationId
string <ActivationId>

Activation identifier linked to the LLS product

activated
string <date-time>

Date when Local license server's seat has been activated

lastLease
string <date-time>

Date when activation was created/last extended

leaseExpiry
string <date-time>

Exclusive seat lease expiry date

deactivated
string or null <date-time>

Date when Local license server's seat has been deactivated, null otherwise

licenseActive
boolean

True if Local license server's license is active, false otherwise

Response samples

Content type
application/json
{
  • "id": "lls_oH_hPJ3BgEO172Yd9-KuTg",
  • "name": "OffsiteNetwork_85083",
  • "activationId": "string",
  • "activated": "2019-08-24T14:15:22Z",
  • "lastLease": "2019-08-24T14:15:22Z",
  • "leaseExpiry": "2019-08-24T14:15:22Z",
  • "deactivated": "2019-08-24T14:15:22Z",
  • "licenseActive": true
}

Get Local License Server's configuration

Authorizations:
Bearer

Responses

Response Schema: application/json
llsLicenseTenantId
string <TenantId>

Tenant that holds the LLS entitlement

JWK (object)

LLS license's tenant public key

One of
kty
string

Key type

n
string

Modulus

e
string

Exponent

clientTenantId
string <TenantId>

Tenant that holds the entitlements which should be exported to the LLS

JWK (object)

Client tenant's public key

One of
kty
string

Key type

n
string

Modulus

e
string

Exponent

Response samples

Content type
application/json
{
  • "llsLicenseTenantId": "string",
  • "llsLicenseTenantKey": {
    },
  • "clientTenantId": "string",
  • "clientTenantKey": {
    }
}

Activate LLS license

Authorizations:
Bearer
Request Body schema: application/json
required

Offline activation request token generated in LLS

token
required
string non-empty

Encrypted offline activation token, containing all the info required for the seat activation

Responses

Response Schema: application/json
token
string

Signed and encrypted offline activation token, holding the activation's state

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Deactivate LLS license

Authorizations:
Bearer
Request Body schema: application/json
required

Offline deactivation token received from LLS

token
required
string non-empty

Encrypted offline deactivation token

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Deactivate LLS license without deactivation token (in case that token cannot be retrieved from the LLS)

This method can be called only if the LLS license deactivation without token is allowed on the LLS entitlement. Otherwise, if there is no way to obtain the deactivation token from the LLS, our support team should be contacted to deactivate the license.

Authorizations:
Bearer
path Parameters
localLicenseServerId
required
string <LocalLicenseServerId>

LLS id

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "error": "string",
  • "errorCode": "string",
  • "validationErrors": [
    ]
}

Refresh LLS license

Authorizations:
Bearer
path Parameters
localLicenseServerId
required
string <LocalLicenseServerId>

LLS id

Responses

Response Schema: application/json
token
string

Signed and encrypted offline refresh token, holding the refreshed activation's state

Response samples

Content type
application/json
{
  • "token": "string"
}

Get LLS Entitlement for the current tenant

Authorizations:
Bearer

Responses

Response Schema: application/json
EntitlementModel (object)

Local license server entitlement

One of
id
string <EntitlementId>

Entitlement identifier

sku
string

Unique offering identifier

offeringName
string

Offering name

LicenseType (string)

License type

One of
string (LicenseType)
Enum: "subscription" "perpetual"

License type

LicenseStartType (string)

License start type

One of
string (LicenseStartType)
Enum: "activation" "entitlementCreation" "custom" "manualActivation"

License start type

IntervalType (string)

License duration type

One of
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"

License duration type

licenseDurationCount
integer or null

License duration count

hasMaintenance
boolean

Maintenance enabled

Interval (object)

Maintenance duration

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
seatCount
integer <int32>

Seat capacity of the entitlement (excluding overdraft)

OverdraftSeatLimitModel (object)

Overdraft seat limit

One of
OverdraftSeatLimitType (string)

Overdraft Limit Type

value
integer or null <int32>

Overdraft Limit Value

overdraftSeatCount
integer or null <int32>

Overdraft seats available on entitlement. Null if unlimited.

seatsUsed
integer <int32>

Number of seats currently in use including overdraft seats

overdraftSeatsUsed
integer or null <int32>

Number of overdraft seats currently in use. Null if OverdraftSeatLimit is None.

seatUtilizationRate
integer <int32>

Percentage of seats that are currently occupied [(SeatsUsed / SeatCount) x 100%]

seatsAvailable
integer or null <int32>

Number of seats available to activate. Null if unlimited.

provisioningDate
string or null <date-time>

Date when entitlement provisioning was started

activationDate
string or null <date-time>

Date when entitlement was activated

expiryDate
string or null <date-time>

Date when entitlement expires

maintenanceExpiryDate
string or null <date-time>

Date when maintenance expires

disabledDate
string or null <date-time>

Date when entitlement was disabled

ConcurrencyMode (string)

Concurrency mode

One of
string (ConcurrencyMode)
Enum: "concurrent" "nodeLock"

Concurrency mode

Interval (object)

Lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Offline lease period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Grace period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
Interval (object)

Linger period

One of
type
required
string (IntervalType)
Enum: "none" "day" "week" "month" "year" "hour" "minute"
count
integer or null [ 1 .. 32767 ]
gracePeriodExpiry
string or null <date-time>

Date when entitlement grace period expires

EntitlementStatus (string)

Status of entitlement

One of
string (EntitlementStatus)
Enum: "active" "gracePeriod" "expired" "disabled" "exported" "created" "customerDisabled"

Status of entitlement

Array of objects or null (EntitlementFeatureModel)

Array of entitlement features

Array
id
string <FeatureDefinitionId>

Feature identifier

FeatureType (string)

Feature type

key
string

Feature key

value
integer or null <int64>

Feature value

used
integer or null <int64>

Feature current usage

edited
boolean

Indicates if feature value was edited

OverdraftSeatLimitModel (object)

Overdraft limit applied to this feature

Array of objects or null (EntitlementAttributeModel)

Array of entitlement attributes

Array
id
string <AttributeDefinitionId>

Attribute identifier

AttributeType (string)

Attribute type

key
string

Attribute key

value
string or null

Attribute value

edited
boolean

Indicates if attribute value was edited

productId
string <ProductId>

Id of product licensed by entitlement

(ProductModel (object or null))

Expanded product object

One of
id
string <ProductId>

Product identifier

name
string

Product name

Interval (object)

Lease period

Interval (object)

Offline lease period

Interval (object)

Grace period

Interval (object)

Linger period

exported
boolean

Indicates if entitlement has been exported

(EntitlementExportModel (object or null))

Expanded export object (if Exported = true)

One of