License Pool API resources

  • Last update on December 20th, 2024

Beta version updated on December 13th 2024

This document provides a quick guide to the properties and types associated with the LicensePoolConfiguration and LicensePoolGroup objects. It includes detailed descriptions, example objects, and usage guidelines to help you understand and integrate with CoreView API.

Please note that API design is still a beta version and the contents are subject to change as we continue to refine and improve our API.

 

Detailed schema

Properties of LicensePoolConfiguration

The LicensePoolConfiguration object contains the following properties:

Property Type Description
Id string The unique identifier for the VirtualTenant. The underlying type is a MongoDB ObjectId
Name string The name of the VirtualTenant.
Description string A description of the VirtualTenant.
DistributionGroupDomainFilters     array of strings A list of domains. Distribution groups with a domain inside this list will be visible inside the VirtualTenant.
DistributionGroupFilters array of QueryFilter An ordered list of QueryFilter objects representing the rules that distribution group properties must satisfy to be visible inside the VirtualTenant. The first element is expected to have the condition And.
SecurityGroupFilters array of QueryFilter An ordered list of QueryFilter objects representing the rules that security group properties must satisfy to be visible inside the VirtualTenant. The first element is expected to have the condition And.
Microsoft365GroupFilters array of QueryFilter An ordered list of QueryFilter objects representing the rules that Microsoft365 group properties must satisfy to be visible inside the VirtualTenant. The first element is expected to have the condition And.
UserFilters array of QueryFilter An ordered list of QueryFilter objects representing the rules that user properties must satisfy to be visible inside the VirtualTenant. The first element is expected to have the condition And.
UserDomainFilters     array of strings     A list of domains. Users with a domain inside this list will be visible inside the VirtualTenant.
UsersGroups array of NestedGroup A list of NestedGroup objects used to filter the users of the tenant. Each member of these groups will be visible to the operators of the VirtualTenant.
DeviceFilters array of QueryFilter An ordered list of QueryFilter objects representing the rules that device properties must satisfy to be visible inside the VirtualTenant. The first element is expected to have the condition And.
DeviceSecurityGroups array of NestedGroup A list of NestedGroup objects used to filter the devices of the tenant. Each member of these groups (expected to be of type SecurityGroup) will be visible to the operators of the VirtualTenant.
OrganizationalUnitFilters array of QueryFilter An ordered list of QueryFilter objects representing the rules that user organizational unit must satisfy to be visible inside the VirtualTenant. The first element is expected to have the condition And.
Operators array of strings A list of UserPrincipalNames of the operators added to the VirtualTenant.
OperatorsGroups     array of NestedGroup A list of NestedGroup objects. Each member of these groups will be added as an operator to the VirtualTenant.

Properties of LicensePoolGroup

The LicensePoolGroup object contains the following properties:

Property Type Description
Id string The unique identifier for the license pool group.
Name string The name of the license pool group
Description string Description of the license pool group
Filters array of QueryFilter An ordered list of QueryFilter objects representing the rules that filter criteria properties must satisfy to be visible inside the LicensePoolGroup.
LicensePoolInfos array of LicensePoolInfo An ordered list of LicensePoolInfo objects representing the SKUs assigned to the LicensePoolGroup.
PricePerUser double The price per user in the license pool group.
PricePerActiveUser double The price per active user in the license pool group.
PricePerLicensePool double The price per license pool in the license pool group.
Currency string The currency in which prices are stated for the license pool group.

Detailed property types

LicensePoolSkuConfiguration

A LicensePoolSkuConfiguration object is used to define set of SKUs to be assigned to LicensePoolConfiguration

It consists of the following properties:

  • SkuId (string): the unique identifier for the SKU
  • SkuName (string): the SKU name
  • SkuPartNumber (string): the SKU part number
 
 

LicensePoolInfo

A LicensePoolInfo object is used to define sku information within a LicensePoolGroup

It consists of the following properties:

  • SkuId (string): the unique identifier for the SKU
  • Sku (string): the SKU name or identifier
  • UserGroupId (string): the identifier of the user group
  • GroupName (string): the name of the group
  • SkuPartNumber (string): the part number of the SKU
  • Total (long): the total number of licenses
  • Available (long): the number of available licenses
  • Assigned (long): the number of assigned licenses
  • Consumed (long): the number of consumed licenses
  • NotAssigned (long): the number of unassigned licenses
  • IsActive (bool): Indicates whether the license pool is active
 
 

QueryFilter

A QueryFilter object is used to define rules for filtering properties within a LicensePoolGroup

It consists of the following properties:

  • Name (string): the name of the property of the object that is being filtered (e.g., Department, DisplayName)
  • Value (string): the value to filter on. Used in combination with the Operation property
  • ValueDate (string, date-time): the date value to filter on. Reserved for properties of the object that have an underlying DateTime type
  • Condition (enum): Represents how the single QueryFilter should combine with other QueryFilters (And, Or)
  • Operation (enum): The kind of operation to be performed on the object in order to respect the filter (e.g., Equals, Contains)
 
 

License

A License object represents license information including SKU details and license unit counts.

It consists of the following properties:

  • SkuId (string): the unique identifier for the SKU
  • SkuName (string): the SKU name
  • SkuPartNumber (string): the SKU part number
  • ActiveUnits (integer): the number of active licenses
  • ConsumedUnits (integer): the number of consumed licenses
  • RemainingUnits (integer): the number of remaining licenses
 
 

Possible values for FirstLevelCriteria and SecondLevelCriteria

The following values can be used for both FirstLevelCriteria and SecondLevelCriteria parameters:

  • City
  • CompanyCountry
  • Domain
  • Division
  • OrganizationalUnit
  • CustomAttribute1
  • CustomAttribute2
  • CustomAttribute3
  • CustomAttribute4
  • CustomAttribute5
  • CustomAttribute6
  • CustomAttribute7
  • CustomAttribute8
  • CustomAttribute9
  • CustomAttribute10
  • CustomAttribute11
  • CustomAttribute12
  • CustomAttribute13
  • CustomAttribute14
  • CustomAttribute15
  • Department
  • Office
  • PostalCode
  • State
  • PortalAttribute1
  • PortalAttribute2
  • PortalAttribute3
  • UsageLocation

These values are case-sensitive and must be specified exactly as shown above.

 

Examples

Example of a LicensePoolConfiguration object

Here’s an example of a LicensePoolConfiguration object:

{
  "firstLevelCriteria": "City",
  "secondLevelCriteria": "",
  "skus": [
      {
          "skuId": "0123456789abc:companyname:ENTERPRISEPACK"
      },
      {
          "skuId": "0123456789abc:companyname:FLOW_FREE"
      }
  ],
  "PricePerUser": null,
  "PricePerActiveUser": null,
  "PricePerLicensePool": null,
  "Currency": null
}

Example of a LicensePoolGroup object

 

Here’s an example of a LicensePoolGroup object:

{
   "name": "License group name",
   "description": "License group description",
   "filters": [
       {
           "name": "LicensePoolDiscriminator",
           "value": "Milan",
           "valueDate": null,
           "condition": "OR",
           "operation": "Equals"
       }
   ],
   "licensePoolInfos": [
       {
           "skuId": "0123456789abc:companyname:SKUID",
           "sku": "Product with SKU",
           "userGroupId": null,
           "groupName": null,
           "skuPartNumber": "SKUID",
           "total": 1000000,
           "available": 0,
           "assigned": 0,
           "consumed": 0,
           "notAssigned": 999012,
           "isActive": true
       }
   ],
   "pricePerUser": 0.0,
   "pricePerActiveUser": 0.0,
   "pricePerLicensePool": 0.0,
   "currency": "USD",
   "notes": "My notes",
   "valueToAssign": "Milan"
}

Download

Visualize and interact with our API by downloading Swagger UI:

Download the License Pools API Swagger UI

Understand our API’s data structure by downloading the JSON schema:   
Download the License Pools JSON schema