GET license

This request performs the following:

>Provides provisioning information related to entitlements, products, and features.

>Provides license consumption information, such as the number of running sessions (in the case of licenses with the limited concurrency limit) and the number of usage count consumed (in the case of licenses with the limited usage limit).

>Checks the license availability for a user.

Type

GET

URI

<SCC_URL>/licenses?customer={customer}&user={user}&featureName={fname}&featureVersion={fver}&Entitlement={EID}&productName={pname}&productVersion={pver}&userSpecificEnititlement={trueORfalse}

The <SCC_URL> represents the Cloud Connect URL sent by Directory Service (also called, YPS) in response to the POST registration request.

Example URI

https://fra01-he02.trial.sentinelcloud.com/scc/licenses?customer=c1&user=u1&featureName=fname1&featureVersion=1.0&Entitlement=aced45&productName=product1&productVersion=1.0&userSpecificEnititlement=true

URI Parameters

The following parameters are used to retrieve the license information:

Parameter Description

customer

The unique customer ID (as provided in EMS).

user

Identifies the user.

NOTE   The user-specific filtering is done based on whether the userSpecificEntitlement parameter is True or False.

featureName

(Optional) The feature name.

featureVersion

(Optional) The feature version.

If a feature is created with version from EMS, it become mandatory to provide the feature version along with the feature name in the request.

entitlement

(Optional) The entitlement ID.

productName (Optional) The product name.
productVersion

(Optional) The product version.

NOTE   If productVersion is provided, the filtering is performed for the exact product name and product version pair. Otherwise, details of all products are returned.

userSpecificEntitlement

(Optional) A Boolean parameter to filter results based on the given user name. It has one of the following values:

>True : Enable the user-specific filtering. The request, in this case, returns only those named entitlements to which the given user is associated and all unnamed entitlements.

>False : Disable the user-specific filtering. In this case, all named and unnamed entitlements are returned.

The default value is False.

Input Combinations

Following are the combinations for the request parameters:

Customer

Entitlement

Product

Feature

Result

Not null

Null

Null

Null

Information of all entitlements, products, and features related to the given customer and user.

Not null

Not null

Null

Null

Information of all features and products for the given EID.

Not null

Not null

Not null

Null

Information of all features for the given product and EID.

Not null

Not null

Not null

Not null

Information for the given feature, product, and EID.

Further filtering can be done based on userSpecificEntitlement and user parameters. For details, refer to the URI Parameters table given above.

Request Body

None

Response Body

NOTE   The responses shown below are for a given entitlementId, productName, and productVersion.

Case 1: When an entitlement contains a feature with unlimited concurrency and unlimited usage count
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<licenses>
	<entitlement>
		<entitlementId>51f0c54b-24e9-43a6-bf22-ce8738da59fe</entitlementId>
		<product>
			<productName>m1</productName>
			<productVersion>1</productVersion>
			<feature>
				<featureId>57</featureId>
				<featureName>z1</featureName>
				<featureVersion/>
				<usable>true</usable>
				<usabilityStatus>Available</usabilityStatus>
				<concurrencyLimit>Unlimited</concurrencyLimit>
				<startDate>2017-01-04T00:00:00Z</startDate>
				<endDate>2018-01-05T00:00:00Z</endDate>
				<vendorInfo/>
				<endDateGraceDuration>0</endDateGraceDuration>
				<usageLimit>Unlimited</usageLimit>
			</feature>
		</product>
	</entitlement>
</licenses>
Case 2: When an entitlement contains a feature with limited concurrency
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<licenses>
	<entitlement>
		<entitlementId>3c6d37dd-7c23-453d-8f07-96f776d301c7</entitlementId>
		<product>
			<productName>calculator</productName>
			<productVersion>2</productVersion>
			<feature>
				<featureId>19</featureId>
				<featureName>add</featureName>
				<featureVersion>1</featureVersion>
				<usable>true</usable>
				<usabilityStatus>available</usabilityStatus>
				<concurrencyLimit>5</concurrencyLimit>
				<concurrencyCriteria>per user</concurrencyCriteria>
				<runningSessions>0</runningSessions>
				<startDate>2016-07-18T00:00:00Z</startDate>
				<endDate>2017-07-18T00:00:00Z</endDate>
				<vendorInfo>vendorinfo</vendorInfo>
				<endDateGraceDuration>3</endDateGraceDuration>
				<usageLimit>unlimited</usageLimit>
			</feature>
		</product>
	</entitlement>
</licenses>

Case 3: When an entitlement contains a feature with limited usage count


<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<licenses>
	<entitlement>
		<entitlementId>3c6d37dd-7c23-453d-8f07-96f776d301c7</entitlementId>
		<product>
			<productName>calculator</productName>
			<productVersion>3</productVersion>
			<feature>
				<featureId>16</featureId>
				<featureName>add</featureName>
				<featureVersion>1</featureVersion>
				<usable>true</usable>
				<usabilityStatus>available</usabilityStatus>
				<concurrencyLimit>unlimited</concurrencyLimit>
				<startDate>2016-07-18T00:00:00Z</startDate>
				<endDate>2017-07-18T00:00:00Z</endDate>
				<vendorInfo>vendorinfo</vendorInfo>
				<usageLimit>5</usageLimit>
				<usageCountConsumed>0</usageCountConsumed>
				<usageCountGrace>10</usageCountGrace>
				<endDateGraceDuration>2</endDateGraceDuration>
			</feature>
		</product>
	</entitlement>
</licenses>

For a feature with limited usage count, the following attributes are visible in the output:

  • usageLimit (It contains a finite integer value indicating the maximum number of usage counts allowed. In other cases, its value remains "unlimited").
  • usageCountGrace
  • usageCountConsumed

In case of error:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
	<status>Fail</status>
	<errorCode>error_code</errorCode>
	<errorDescription>error_message</errorDescription>
</error>
Elements in the Output XML

The following table describes the elements present in the output XML:

Element Description
Entitlement Information
entitlementId The entitlement ID (known as EID in EMS).
Product Information
productName The name of the product.
productVersion The version of the product.
Feature Information  
featureId The integer ID of the feature.
featureName The name of the feature.
featureVersion The version of the feature.
usable

Specifies if the license is usable or not.

Its value can be one of the following:

>true: Indicates that the license is usable.

>false: Indicates that the license is not usable.

usabilityStatus

The usability status of the feature.

Its value can be one of the following:

>Available: Indicates that the license is ready for use.

>An error string: Indicates that the license is not available.

License Information  
concurrencyLimit

The maximum number of concurrent instances allowed for a feature.

Its value should be in the range 1-32752. The "unlimited" value indicates that the concurrency limit is not set, or the concurrency is unlimited.

NOTE   When using the EMS GUI, to specify unlimited concurrency, the Unlimited check box is selected. The 0 value is not allowed from the EMS GUI. When using an EMS web service, the 0 value is provided to specify unlimited concurrency. For license attribute details, refer to the EMS Guides.

The default value is "unlimited".

NOTE   If the concurrencyLimit contains a finite value, the getInfo output also contains the following elements: concurrencyCriteria and runningSessions.

concurrencyCriteria

The criteria of counting concurrent instances.

Its value can be one of the following:

>per login: Count each login request as an instance. If the same user logins to a feature multiple times, each login will consume one concurrency limit.

>per user: Count each user as an instance. All the login requests by the same user are counted as one instance, and consume only one concurrency limit.

This element is present in the XML only if concurrencyLimit contains a finite value.

runningSessions

The number of active concurrent instances.

Its value cannot exceed the concurrency limit.

This element is present in the XML only if concurrencyLimit contains a finite value.

startDate

The license start date and time. If a start date is given for a license, the feature cannot be used before that date and time.

Date is in the yyyy-mm-dd format, and time is in the hours:minutes:seconds format.

The UTC time zone is used.

Example:

<startDate>2016-08-03T00:00:00Z</startDate>
endDate

The license expiration date and time. The license expires when the end date is reached.

If an expiry is set, date is in the yyyy-mm-dd format and time is in the hours:minutes format. Otherwise, the field has the string value of “Never expires”.

The UTC time zone is used.

Example:

<endDate>2020-12-31T00:00:00Z</endDate>
vendorInfo

The vendor-defined information for a feature specified from EMS (in the Vendor Info license attribute), for example, employee role or data download speed.

A software vendor can query vendorInfo values in an application by using the getInfo API. Based on the API results, the vendor can define application logic or can implement dynamic decision making capabilities.

This field can contain up to 255 alphanumeric characters.

Note:

>This attribute/element is not used by the Sentinel Cloud Connect in license enforcement.

endDateGraceDuration

The additional number of days for which the license can be used after the end date has been reached. The range is 0 to 365 days.

This element is mapped to the Grace Days attribute of the Connected license model of EMS.

usageLimit

The maximum number of times a feature can be used.

Its value is an integer in the range of 1 to 2147483647. The "unlimited" value indicates that the usage limit is not set, or unlimited usage counts are allowed.

NOTE   When using the EMS GUI, to specify unlimited usage counts, the Unlimited check box is selected. 0 is not allowed from the EMS GUI. When using an EMS web service, the 0 value is used to allow unlimited usage count. For license attribute details, refer to the EMS Guides.

If usageLimit contains a finite value, the getInfo output also contains the following elements: usageCountGrace and usageCountConsumed.

usageCountGrace

The number of additional usage counts allowed for a feature after the usage limit has been reached.

This element is present in the getInfo output only if the usageLimit contains a finite value and the Grace Limit is set to a non zero value in EMS.

Its value is an integer in the range of 1 to 2147483647.

usageCountConsumed

The number of usage counts that have been consumed so far.

This element is present in the getInfo output only if the usageLimit contains a finite value.

Response Schema

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="licenses">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="entitlement" minOccurs='1'>
        <xs:complexType>
          <xs:sequence>
           <xs:element type="xs:string" name="entitlementId" minOccurs='1' maxOccurs='1'/>
            <xs:element name="product" minOccurs='1'>
              <xs:complexType>
                <xs:sequence>
  		     <xs:element type="xs:string" name="productName"/>
                    <xs:element type="xs:string" name="productVersion"/>
                    <xs:element name="feature" minOccurs='1'>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:int" name="featureId"/>
                          <xs:element type="xs:string" name="featureName"/>
                          <xs:element type="xs:string" name="featureVersion"/>
                          <xs:element type="xs:string" name="usable"/>
                          <xs:element type="xs:string" name="usabilityStatus"/>
                           <xs:element name="concurrencyLimit">
			    <xs:simpleType>
			    <xs:union memberTypes="xs:int xs:string"/>
			    </xs:simpleType>
			    </xs:element>
                          <xs:element type="xs:dateTime" name="startDate"/>
                          <xs:element type="xs:dateTime" name="endDate"/>
                          <xs:element type="xs:string" name="vendorInfo"/>
                          <xs:element type="xs:int" name="endDateGraceDuration"/>
                          <xs:element type="xs:string" name="concurrencyCriteria" minOccurs='0'/>
                          <xs:element type="xs:int" name="runningSessions" minOccurs='0'/>
			  <xs:element type="xs:string" name="usageCountGrace" minOccurs='0'/>
			  <xs:element type="xs:int" name="usageCountConsumed" minOccurs='0'/>
                          <xs:element name="usageLimit" >
			  <xs:simpleType>
			 <xs:union memberTypes="xs:int xs:string"/>
			   </xs:simpleType>
			  </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Error Codes

Error Code Description Status Code

2002

User is invalid

400 Bad request

2003

Customer is invalid

400 Bad request

2008

Invalid parameter: featureName

400 Bad request

2010

Invalid parameter: featureVersion

400 Bad request

2026

Access denied to the requested feature

403 Forbidden

See Also: Common Error Codes