Skip to main content

Licensing

The Licensing API contains the following methods, exposing the licensing related functionalities:

  • getLicenseInfo: retrieves the license information for a company.

  • setMonthlySubscription: enables the monthly subscription for a company.

  • setLicenseKey: sets the license key for a company.

  • addProductKey: adds a product key to a company.

  • removeProductKey: removes a license key from the given company.

  • getMonthlyUsage: exposes a company's monthly license usage for endpoints and Exchange mailboxes, within a certain month.

  • getMonthlyUsagePerProductType: exposes a company's monthly license usage for endpoints and Exchange mailboxes, within a certain month, for all available product types.

API url: CONTROL_CENTER_APIs_ACCESS_URL/v1.0/jsonrpc/licensing

getLicenseInfo

This method retrieves the license information for a company.

Parameters

Parameter

Type

Optional

Description

companyId

String

Yes

The ID of the company for which the license information is retrieved. The default value is the ID of the company linked to the user who generated the API key.

returnAllProducts

Boolean

Yes

If true, information about all the products of the given company will be included in the response. The default value is false.

Return value

This method returns an Array containing the license details:

  • subscriptionType - the company's subscription type: 1 for trial subscription, 2 for licensed subscription, 3 for monthly subscription, 4 for monthly license trial, 5 for monthly subscription trial, 6 for FRAT subscription

  • isAddon - whether the product is an add-on

  • expiryDate - the license expiry date

  • usedSlots - the number of used seats

  • totalSlots - the number of total seats for licensed subscriptions, or the number of reserved seats for child companies that inherited a monthly license from their parent company.

  • licenseKey - the license key for trial or licensed subscriptions.

  • endSubscription - the subscription end date. This option is available for companies with monthly subscription.

  • autoRenewPeriod - the subscription auto renewal period in months. This option is available for companies with monthly subscription.

  • manageExchange - True if the company is allowed to manage the Security for Exchange feature, false otherwise

  • manageEncryption - True if the company is allowed to manage the Full Disk Encryption feature, false otherwise

  • manageRemoteEnginesScanning - True if the company is allowed to manage the Security for Virtualized Environments feature, false otherwise

  • manageHyperDetect - True if the company is allowed to manage the HyperDetect feature, false otherwise

  • manageSandboxAnalyzer - True if the company is allowed to manage the Sandbox Analyzer feature, false otherwise

  • managePatchManagement - True if the company is allowed to manage the Patch Management feature, false otherwise

  • manageEventCorrelator - True if the company is allowed to manage the Endpoint Detection and Response feature, false otherwise.

  • manageEmailSecurity - True if the company is allowed to manage the Email Security feature, false otherwise.

  • manageMobileSecurity - True if the company is allowed to manage Mobile Security feature, false otherwise.

  • manageContainerProtection - True if the company is allowed to manage the Container Protection feature, false otherwise.

  • licensedServices, an object containing service settings for the company.

    • mdrServiceFlavor, an integer representing which MDR Service Flavor is enabled for the company's own use. Possible values: 1 for Foundations, 2 for Response (deprecated). This parameter is missing if the company doesn't have MDR for own use.

    • mdrServiceStatus, an integer representing MDR status. Possible values: 1 for Active, 2 for Inactive, 3 for Onboarding, 4 for Switching, 5 for Disabling. This parameter is missing if the company doesn't have MDR for own use.

    • mdrStatusStartDate, the service start date. This parameter is missing if the company doesn't have MDR for own use.

    • mdrServiceResell, a boolean specifying whether the company is allowed to resell MDR services (Foundations and Response) to the companies it creates.

  • minimumUsage - An Object containing types of licenses and the minimum number of slots which the company commits through legal agreement to use on a monthly basis:

    • endpointMonthlyUsage, the minimum number of endpoints that the client agreed to use from the main license.

  • assignedProductType - The type of product assigned to the company:

    • 0, for Endpoint Security

    • 3, for Bitdefender EDR

    The parameter is returned only when subscriptionType has one of these values:

    • 3, for monthly subscription

    • 5, for monthly subscription trial

  • additionalProductTypes - An array of the product types that can be assigned to child companies:

    • 0, for Endpoint Security

    • 3, for Bitdefender EDR

    The parameter is returned only when subscriptionType has one of these values:

    • 3, for monthly subscription

    • 5, for monthly subscription trial

  • assignedProtectionModel - A string representing the type of the protection model that the company uses.

    • aLaCarte

    • mspSecure

    • mspSecurePlus

    • mspSecureExtra

    This parameter is only returned when all the following conditions are met:

    • type = 3 (monthly subscription)

    • assignedProductType = 0 (Endpoint Security)

  • additionalProtectionModels - an array of strings representing types of protection models. This parameter indicates what additional protection models a Partner company can assign to their clients, apart from the ones provided by the assignedProtectionModel object.

    • aLaCarte

    • mspSecure

    • mspSecurePlus

    • mspSecureExtra

    This parameter is returned when one of these conditions are met:

    • assignedProductType = 3 (Bitdefender EDR), additionalProductType = 0 (Endpoint Security), and type = 3 (monthly security).

    • assignedProductType = 0 (Endpoint Security), type = 3 (monthly subscription).

  • manageIntegrityMonitoring - True if the company is allowed to manage the Integrity Monitoring feature, False otherwise.

  • imDataRetention - an integer representing the number of days the events will be stored for. It is only returned if manageIntegrityMonitoring is set to true. Possible values: 0 (7 days retention), 1 (90 days retention), 2 (180 days retention), or 3 (1 year retention).

  • ownUse, an object containing activation settings for the company's services and add-ons.

    • manageXDRIdentityProviders, a boolean specifying whether the company is allowed to activate Azure AD and Active Directory integration in Sensors Management.

    • manageXDRProductivityApps, a boolean specifying whether the company is allowed to activate Office 365 integration in Sensors Management.

    • manageXDRNetwork, a boolean specifying whether the company is allowed to activate Network Sensor integration in Sensors Management.

    • manageXDRCloudWorkloads, a boolean specifying whether the company is allowed to activate AWS integration in Sensors Management.

      Note

      If any of the manageXDRIdentityProviders, manageXDRProductivityApps, manageXDRNetwork or manageXDRCloudWorkloads parameters are set as true, XDR is activated for the company.

    • manageRemoteEnginesScanning, optional, indicates if Security for Virtualized Environments is activated for your company. Possible values: true or false. Default value: false.

    • manageContainerProtection, optional, indicates if Container Protection is activated for your company. Possible values: true or false. Default value: false.

    • manageEventCorrelator, optional, indicates if Endpoint Detection and Response (EDR) is activated for your company. Possible values: true or false. Default value: false.

    • manageSandboxAnalyzer, optional, indicates if Sandbox Analyzer is activated for your company. Possible values: true or false. Default value: false.

    • manageHyperDetect, optional, indicates if HyperDetect is activated for your company. Possible values: true or false. Default value: false.

    The parameter is returned only when subscriptionType has one of these values:

    • 3, for monthly subscription

    • 5, for monthly subscription trial

  • resell, an object containing the company's reselling settings for services and add-ons.

    • manageXDRResell - a boolean specifying whether the company is allowed to sell the eXtended Detection and Response service to customers.

    • manageRemoteEnginesScanningResell, optional, indicates if the company can sell Security for Virtualized Environments to its customers. Possible values: true or false. Default value: false.

    • manageContainerProtectionResell, optional, indicates if the company can sell Container Protection service to its customers. Possible values: true or false. Default value: false.

    • manageEventCorrelatorResell, optional, indicates if the company can sell Endpoint Detection and Response (EDR) to its customers. Possible values: true or false. Default value: false.

    • manageSandboxAnalyzerResell, optional, indicates if the company can sell Sandbox Analyzer to its customers. Possible values: true or false. Default value: false.

    • manageHyperDetectResell, optional, indicates if the company can sell HyperDetect to its customers. Possible values: true or false. Default value: false.

    The parameter is returned only when subscriptionType has one of these values:

    • 3, for monthly subscription

    • 5, for monthly subscription trial

  • reservedSlots - the number of total seats reserved for child companies. This option is available for Partner companies with monthly license.

  • additionalLicenses - Only present, if the company has multiple products (addons or base licenses) assigned. Array containing information about the addons and the main licenses assigned to the given company:

    • expiryDate, the license expiry date. If the product is an addon, this information is not available.

    • usedSlots, the number of used seats. If the product is an addon, this information is available only if the addon type is "Email Security" .

    • licenseKey, the license key for trial or licensed subscriptions.

    • isAddon, whether the product is an addon or a base license

Example

Request:

  {
       "params": {
          "companyId": "5493dcd2b1a43df00b7b23c6",
          "returnAllProducts": true
       },
       "jsonrpc": "2.0",
       "method": "getLicenseInfo",
       "id": "ad12cb61-52b3-4209-a87a-93a8530d91cb"
  }  

Response for monthly subscription:

{
  "isAddon": false,
  "expiryDate": "2025-04-22T00:00:00",
  "usedSlots": 2,
  "reservedSlots": 0,
  "totalSlots": null,
  "manageExchange": false,
  "manageEncryption": false,
  "manageRemoteEnginesScanning": false,
  "manageHyperDetect": true,
  "manageSandboxAnalyzer": true,
  "managePatchManagement": false,
  "manageEventCorrelator": true,
  "manageEmailSecurity": false,
  "manageMobileSecurity": false,
  "manageContainerProtection": false,
  "manageIntegrityMonitoring": false,
  "assignedProtectionModel": "mspSecureExtra",
  "additionalProtectionModels": [
    "aLaCarte",
    "mspSecure",
    "mspSecurePlus",
    "mspSecureExtra"
  ],
  "assignedProductType": 0,
  "additionalProductTypes": [
    0
  ],
  "ownUse": {
    "manageXDRIdentityProviders": true,
    "manageXDRProductivityApps": true,
    "manageXDRNetwork": false,
    "manageXDRCloudWorkloads": false,
    "manageRemoteEnginesScanning": false,,
    "manageContainerProtection": false,    
    "manageHyperDetect": true,
    "manageSandboxAnalyzer": true,
    "manageEventCorrelator": true
  },
  "resell": {
    "manageXDRResell": true,
    "manageRemoteEnginesScanningResell": false,
    "manageContainerProtectionResell": false,    
    "manageHyperDetectResell": true,
    "manageSandboxAnalyzerResell": true,
    "manageEventCorrelatorResell": true
  },
  "licensedServices": {
    "mdrServiceFlavor": 1,
    "mdrServiceStatus": 3,
    "mdrStatusStartDate": "2023-07-17T10:52:03",
    "mdrServiceResell": true
  },
  "subscriptionType": 3
}

Response for yearly license:

  {
       "id": "ad12cb61-52b3-4209-a87a-93a8530d91cb",
       "jsonrpc": "2.0",
       "result": {
           "subscriptionType": 2,
           "isAddon": false,
           "expiryDate": "2021-12-28T17:16:52",
           "usedSlots": 0,
           "totalSlots": 50,
           "licenseKey": "ABG5DBF",
           "additionalLicenses": [
               {
                   "isAddon": false,
                   "expiryDate": "2021-12-28T17:16:52",
                   "usedSlots": 0,
                   "totalSlots": 50,
                   "licenseKey": "W5HAJDV"
               },
               {
                   "isAddon": false,
                   "expiryDate": "2021-12-28T15:35:14",
                   "usedSlots": 0,
                   "totalSlots": 1,
                   "licenseKey": "HFBYCXS"
               }
           ]
       }
  }   

setMonthlySubscription

This method enables monthly subscription for a company.

Parameters

Parameter

Type

Optional

Description

companyId

String

No

The ID of the company that will inherit license seats from the parent company.

reservedSlots

Number

Yes

The number of seats ensured for the target company from the parent's company total amount of seats. The default value is 0, meaning that no seats will be reserved. If no value is passed, the parameter preserves its previous value.

removeReservedSlots

Boolean

Yes

True for allowing dynamic provisioning of license seats to this company and its clients, False otherwise. Default value is False.

endSubscription

String

Yes

The UTC end date for the product subscription. This parameter can be set when license subscription type has the value 3 (monthly subscription). To unset endSubscription use empty string: ''.

autoRenewPeriod

Number

Yes

The license validity in months, after auto renewal. This parameter can be set when license subscription type has the value 3 (monthly subscription). The default value is 12, provided endSubscription is set. For no auto-renewal use 0.

manageExchange

Boolean

Yes

True for allowing the company to use the Security for Exchange service, False otherwise. Default value is False.

manageEncryption

Boolean

Yes

True for allowing the company to use the Full Disk Encryption service, False otherwise. Default value is False.

manageRemoteEnginesScanning

Boolean

Yes

True for allowing the company to use the Security for Virtualized Environments service, False otherwise. Default value is False.

Note

This parameter can not be used if any of the manageRemoteEnginesScanning and manageRemoteEnginesScanningResell settings under the ownUse and resell object parameters exist.

manageHyperDetect

Boolean

Yes

True for allowing the company to use the HyperDetect service, False otherwise. Default value is False.

manageSandboxAnalyzer

Boolean

Yes

True for allowing the company to use the Sandbox Analyzer service, False otherwise. Default value is False.

managePatchManagement

Boolean

Yes

True for allowing the company to use the Patch Management service, False otherwise. Default value is False.

manageEventCorrelator

Boolean

Yes

True for allowing the company to use the Endpoint Detection and Response (EDR) service, False otherwise. Default value is False. EDR requires Sandbox Analyzer and HyperDetect to be enabled. Any change of this parameter's value will automatically set the parameters manageSandboxAnalyzer and manageHyperDetect with the same value. Omitting passing a value will not affect the values set for these two parameters.

manageEmailSecurity

Boolean

Yes

True for allowing the company to use the Email Security service, False otherwise. Default value is False.

manageMobileSecurity

Boolean

Yes

True for allowing the company to use the Mobile Security service, False otherwise. Default value is False.

manageContainerProtection

Boolean

Yes

True for allowing the company to use the Container Protection service, False otherwise. Default value is False.

Important

This setting can only be set to true if assignedProtectionModel has the aLaCarte value assigned.

Note

This parameter can not be used if any of the manageContainerProtection and manageContainerProtectionResell settings under the ownUse and resell object parameters exist.

licensedServices

Object

Yes

An object containing service settings for the company.

This parameter makes sense only when creating a company with license of type 3. If omitted, the service will be unavailable.

  • mdrServiceOwnUse, an integer representing which MDR Service type is enabled for the company's own use. Possible values: 0 for Disabled, 1 for Foundations, 2 for Response (deprecated). Enabling this also enables MDR service reselling if the company type is Partner. Enabling this option will also enable EDR. If omitted, the service will be unavailable.

  • mdrServiceResell, a boolean specifying whether the company is allowed to resell MDR services (Foundations and Response) to the companies it creates. If omitted, reselling will be unavailable. This makes sense only for partner companies.

assignedProductType

Number

Yes

The product type assigned to the target company. Possible values:

  • 0, for Endpoint Security

  • 3, for Bitdefender EDR

The default value is 0.

additionalProductTypes

Array

Yes

This parameter applies only to Partner companies. It is an array of integers representing the product types that the Partner can assign to its clients. Possible integer values:

  • 0, for Endpoint Security

  • 3, for Bitdefender EDR

If you set this parameter, the array must contain at least the value of assignedProductType and you must also set the assignedProductType. If not set, the default value is the value of assignedProductType.

assignedProtectionModel

String

Yes

assignedProtectionModel, a string representing the type of the protection model that the company will use.

Possible values:

  • aLaCarte

  • mspSecure

  • mspSecurePlus

  • mspSecureExtra

Default value: depends on the protection models made available by the partner company.

You can only use this parameter if all the following conditions are met:

  • type = 3 (monthly subscription)

  • assignedProductType = 0 (Endpoint Security)

Note

The value assigned to this parameter will automatically assign one or more values to the additionalProtectionModels array.

assignedProtectionModel

Default value for additionalProtectionModels

aLaCarte

aLaCarte

mspSecure

mspSecure

mspSecurePlus

mspSecure,mspSecurePlus

mspSecureExtra

mspSecure,mspSecurePlus, mspSecureExtra

additionalProtectionModels

String

Yes

An array of strings representing types of protection models. This parameter allows a Partner company to assign additional protection models to their clients apart from the ones provided by the assignedProtectionModel object.

Possible values:

  • aLaCarte

  • mspSecure

  • mspSecurePlus

  • mspSecureExtra

Default value: depends on the value assigned to the assignedProtectionModel field.

You can only use this parameter if one the following conditions are met:

  • assignedProductType = 3 (Bitdefender EDR), additionalProductType must include 0 (Endpoint Security), and type = 3 (monthly subscription).

  • assignedProductType = 0 (Endpoint Security), type = 3 (monthly security), and assignedProtectionModel is included in the request.

minimumUsage

Object

Yes

An Object containing types of licenses and the minimum number of slots which the company commits through legal agreement to use on a monthly basis:

  • endpointMonthlyUsage, the minimum number of endpoints that the client agreed to use from the main license.

manageIntegrityMonitoring

Integer

Yes

True for allowing the company to use the Integrity Monitoring service, False otherwise. Default value is False.

imDataRetention

Integer

No

The number of days the events will be stored for. It is only returned if manageIntegrityMonitoring is true. Possible values: 0 (7 days retention), 1 (90 days retention), 2 (180 days retention), 3 (365 days retention). The default value is 0 (7 days retention).

ownUse

Object

Yes

An object containing activation settings for the company's services and add-ons. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription).

  • manageXDRIdentityProviders, gives access to Sensors Management integration for Azure AD and Active Directory. Possible values: true or false.

  • manageXDRProductivityApps, gives access to Sensors Management integration for Office 365, Google Workspace and Microsoft Intune. Possible values: true or false.

  • manageXDRNetwork, gives access to Sensors Management integration for Network Sensor. Possible values: true or false.

  • manageXDRCloudWorkloads, gives access to Sensors Management integration for AWS and Azure Cloud. Possible values: true or false.

    Important

    To assign the true value to any of the parameters above, the manageEventCorrelator parameter or the manageEventCorrelator setting under the ownuse parameter needs to be set to true.

    Note

    Assigning true to any of the manageXDRIdentityProviders, manageXDRProductivityApps, manageXDRNetwork or manageXDRCloudWorkloads settings will activate XDR. To deactivate XDR, set all of them to false.

  • manageRemoteEnginesScanning, optional, activates the Security for Virtualized Environments service for your company. Possible values: true or false. Default value: false.

    Note

    This setting can not be used if the manageRemoteEnginesScanning parameter outside of the ownUse object is present.

  • manageContainerProtection, optional. activates the Container Protection service for your company. Possible values: true or false. Default value: false.

    Important

    This setting can only be set to true if assignedProtectionModel has the aLaCarte value assigned.

    Note

    This setting can not be used if the manageContainerProtection parameter outside of the ownUse object is present.

  • manageEventCorrelator, a boolean specifying whether the company can use Endpoint Detection and Response (EDR) or not. The default value is false. Setting this parameter to true will automatically set the manageSandboxAnalyzer and manageHyperDetect settings under the ownuse parameter to true.

    Note

    This setting can not be used if the manageEventCorrelator parameter outside of the ownUse object is present.

  • manageSandboxAnalyzer, a boolean specifying whether the company can use Sandbox Analyzer or not. The default value is false.

    Note

    This setting can not be used if the manageSandboxAnalyzer parameter outside of the ownUse object is present.

  • manageHyperDetect, a boolean specifying whether the company can use HyperDetect or not. The default value is false.

    Note

    This setting can not be used if the manageHyperDetect parameter outside of the ownUse object is present.

resell

Object

Yes

An object containing your company's reselling settings for services and add-ons. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription).

  • manageXDRResell - allows selling the eXtended Detection and Response service to your customers. Possible values: true or false.

    Note

    If true, the manageXDRIdentityProviders, manageXDRProductivityApps, manageXDRNetwork and manageXDRCloudWorkloads will automatically be set as true for your managed companies.

  • manageRemoteEnginesScanningResell, optional, allows selling the Security for Virtualized Environments service to your customers. Possible values: true or false. Default value: false.

    Note

    This setting can not be used if the manageRemoteEnginesScanning parameter outside of the resell object is present.

  • manageContainerProtectionResell, optional, allows selling the Container Protection service to your customers. Possible values: true or false. Default value: false.

    Important

    This setting can only be set to true if the additionalProtectionModels parameter has the aLaCarte value assigned.

    Note

    This setting can not be used if the manageContainerProtection parameter outside of the ownUse object is present.

  • manageEventCorrelatorResell, optional, allows selling Endpoint Detection and Response (EDR) to your customers. Possible values: true or false. Default value: false. Setting this setting to true will automatically set the manageSandboxAnalyzerResell and manageHyperDetectResell settings under the resell parameter to true.

    Note

    This setting can not be used if the manageEventCorrelator parameter outside of the ownUse object is present.

  • manageSandboxAnalyzerResell, optional, allows selling Sandbox Analyzer to your customers. Possible values: true or false. Default value: false.

    Note

    This setting can not be used if the manageSandboxAnalyzer parameter outside of the ownUse object is present.

  • manageHyperDetectResell, optional, allows selling HyperDetect to your customers. The default value is false.

    Note

    This setting can not be used if the manageHyperDetect parameter outside of the ownUse object is present.

Return value

This method does not return any value.

Example

Request:

{
    "params": {
        "companyId": "64be4c5cb904ea72f3001049",
        "reservedSlots": 120,
        "removeReservedSlots": false,
        "endSubscription": "2029-04-14",
        "autoRenewPeriod": 12,
        "manageExchange": false,
        "manageEncryption": false,
        "managePatchManagement": false,
        "ownUse": {
            "manageXDRIdentityProviders": false,
            "manageXDRProductivityApps": false,
            "manageXDRNetwork": false,
            "manageXDRCloudWorkloads": false,
            "manageRemoteEnginesScanning": false,
            "manageContainerProtection": false,
            "manageHyperDetect": true,
            "manageSandboxAnalyzer": true,
            "manageEventCorrelator": true
        },
        "resell": {
            "manageXDRResell": true,
            "manageRemoteEnginesScanningResell": true,
            "manageContainerProtectionResell": true,
            "manageHyperDetectResell": true,
            "manageSandboxAnalyzerResell": true,
            "manageEventCorrelatorResell": true
        },
        "manageEmailSecurity": false,
        "manageIntegrityMonitoring": true,
        "imDataRetention": 2,
        "licensedServices": {
            "mdrServiceOwnUse": 1,
            "mdrServiceResell": true
        },
        "minimumUsage": {
            "endpointMonthlyUsage": 120
        },
        "assignedProductType": 0,
        "additionalProductTypes": [
            0
        ],
        "assignedProtectionModel": "mspSecure",
        "additionalProtectionModels": [
            "aLaCarte",
            "mspSecure",
            "mspSecurePlus"
        ],
        "setNewProtectionModelForClients": "aLaCarte"
    },
    "jsonrpc": "2.0",
    "method": "setMonthlySubscription",
    "id": "d4d50719-3215-455a-a329-086fe77f6d72"
}

Response:

  {
      "id":"2b5f52d8-5f6f-466c-b952-61b5c87c3182",
      "jsonrpc":"2.0",
      "result": null
  }   

addProductKey

This method adds a license or addon-key to the existing list of licenses and addon-keys.

Parameters

Parameter

Type

Optional

Description

licenseKey

String

No

The license key to be set. It can be an add-on or a base license.

companyId

String

Yes

The ID of the company whose license will be set. If no value is passed, the user's company will be selected.

replaceIncompatibleKeys

Boolean

Yes

If true, all existing base licenses or add-ons that are not compatible with the current license key will be removed and the new license will be added to the existing base licenses or add-on keys. The default value is true.

Return value

This method does not return any value.

Example

Request:

  {        
       "params": {
           "licenseKey" : "TNB3AAA",
           "companyId" : "5493dcd2b1a43df00b7b23c6",
           "replaceIncompatibleKeys" : true
        },
        "jsonrpc": "2.0",
        "method": "addProductKey",
        "id": "48daf1bc-4078-411c-bf44-4f293e68f501"
  }

Response:

  {
        "id":"48daf1bc-4078-411c-bf44-4f293e68f501",
        "jsonrpc":"2.0",
        "result": null
}

setLicenseKey

This method sets a standalone or an add-on license key for a company.

Parameters

Parameter

Type

Optional

Description

licenseKey

String

No

The license key to be set.

companyId

String

Yes

The ID of the company whose license will be set. If no value is passed, the user's company will be selected.

Return value

This method does not return any value.

Example

Request:

  {
       "params": {
          "licenseKey" : "TNB3AAA",
          "companyId" : "5493dcd2b1a43df00b7b23c6"
       },
       "jsonrpc": "2.0",
       "method": "setLicenseKey",
       "id": "48daf1bc-4078-411c-bf44-4f293e68f501"
  }  

Response:

  {
      "id":"48daf1bc-4078-411c-bf44-4f293e68f501",
      "jsonrpc":"2.0",
      "result": null  
}   

removeProductKey

This method removes a license key from the given company.

Parameters

Parameter

Type

Optional

Description

companyId

String

Yes

The ID of the company. The default value is the ID of the company linked to the user who generated the API key.

licenseKey

String

No

The key of the license to be removed

Return value

This method does not return any value.

Example

Request:

  {
       "params": {
           "licenseKey": "HFBYCXS",
           "companyId": "6151c437b1a1716a9a7a4442"
       },
       "jsonrpc": "2.0",
       "method": "removeProductKey",
       "id": "ad12cb61-52b3-4209-a87a-93a8530d91cb"
  }  

Response:

  {
       "id": "ad12cb61-52b3-4209-a87a-93a8530d91cb",
       "jsonrpc": "2.0",
       "result": null
  }   

getMonthlyUsage

This method exposes the monthly usage for a company in a target month. Returns only usage from endpoints with the default product type - Endpoint Security. If usage from other product types is needed, refer to the getMonthlyUsagePerProductType method.

Parameters

Parameter

Type

Optional

Description

companyId

String

Yes

The ID of the company. The default value is the ID of the company linked to the user who generated the API key.

targetMonth

String

Yes

The month for which the usage is returned. It should have the following format: mm/yyyy. The default value is the current month.

Return value

This method returns an Object containing the number of license seats used during the specified month, for each acquired service, or 0 if the queried company does not have a monthly license:

  • endpointMonthlyUsage - the monthly usage for all endpoints scanned with local engines.

  • aLaCarteMonhtlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the A-la-carte protection model.

  • mspSecureMonthlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the Secure protection model.

  • mspSecurePlusMonthlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the Secure Plus protection model.

  • mspSecureExtraMonthlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the Secure Extra protection model.

  • emailSecurityMonthlyUsage - the monthly usage for Email Security mailboxes.

  • mobileSecurityMonthlyUsage - the monthly usage for Mobile Security devices.

  • exchangeMonthlyUsage - the monthly usage for Exchange mailboxes.

  • encryptionMonthlyUsage - the monthly usage for the encryption module.

  • atsMonthlyUsage - the monthly usage for the sandboxAnalyzer and hyperDetect modules.

  • edrMonthlyUsage - the monthly usage for the EDR module.

  • mdrFoundationsMonthlyUsage - the monthly usage for MDR Foundationsservice.

  • mdrResponseMonthlyUsage - the monthly usage for MDR Response service.

  • patchManagementMonthlyUsage - the monthly usage for the patch management module.

  • containerProtectionMonthlyUsage - the monthly usage for container protection module.

  • integrityMonitoringUsage - the total number of endpoints that make use of Integrity Monitoring.

  • integrityMonitoring90DaysUsage - the number of endpoints that make use of Integrity Monitoring with 90 days event retention.

  • integrityMonitoring180DaysUsage - the number of endpoints that make use of Integrity Monitoring with 180 days event retention.

  • integrityMonitoring1YearUsage - the number of endpoints that make use of Integrity Monitoring with 1 year event retention.

  • xdrIdentitySensorsMonthlyUsage, the monthly usage of Azure AD and Active Directory integration in Sensors Management.

  • xdrProductivitySensorsMonthlyUsage, the monthly usage of Office 365 integration in Sensors Management.

  • xdrNetworkSensorsMonthlyUsage, the monthly usage of Network Sensor integration in Sensors Management.

  • xdrCloudSensorsMonthlyUsage, the monthly usage of AWS integration in Sensors Management.

  • sveVsMonthlyUsage - the monthly usage for virtual servers scanned with Security Server.

  • sveVdiMonthlyUsage - the monthly service usage (in hours) for virtual desktops scanned with Security Server.

  • minimumUsage - An Object containing types of licenses and the minimum number of slots which the company commits through legal agreement to use on a monthly basis:

    • endpointMonthlyUsage, the minimum number of endpoints that the client agreed to use from the main license.

Example

Request:

  {
       "params": {
           "targetMonth": "03/2015",
           "companyId": "55115935b1a43dcc4a7b23c6"
       },       "jsonrpc": "2.0",
       "method": "getMonthlyUsage", 
       "id": "5087eab8-b74f-4a3e-85b3-4271e85890d4"
  }  

Response:

  {
  "result": {
    "endpointMonthlyUsage": 41,
    "encryptionMonthlyUsage": 0,
    "emailSecurityMonthlyUsage": 0,
    "mobileSecurityMonthlyUsage": 0,
    "exchangeMonthlyUsage": 0,
    "atsMonthlyUsage": 0,
    "edrMonthlyUsage": 0,
    "mdrFoundationsMonthlyUsage": 0,
    "mdrResponseMonthlyUsage": 0,
    "patchManagementMonthlyUsage": 0,
    "integrityMonitoringUsage": 0,
    "integrityMonitoring90DaysUsage": 0,
    "integrityMonitoring180DaysUsage": 0,
    "integrityMonitoring1YearUsage": 0,
    "sveVsMonthlyUsage": 0,
    "sveVdiMonthlyUsage": 0,
    "containerProtectionMonthlyUsage": 0,
    "xdrIdentitySensorsMonthlyUsage": 0,
    "xdrProductivitySensorsMonthlyUsage": 0,
    "xdrNetworkSensorsMonthlyUsage": 0,
    "xdrCloudSensorsMonthlyUsage": 0,
    "aLaCarteMonthlyUsage": 1,
    "mspSecureMonthlyUsage": 10,
    "mspSecurePlusMonthlyUsage": 0,
    "mspSecureExtraMonthlyUsage": 20
  },
  "jsonrpc": "2.0",
  "id": "5986",
  "error": null
}   

getMonthlyUsagePerProductType

The method exposes the monthly usage of a company in a target month. Returns the usage per product type, for all available product types.

Parameters

Parameter

Type

Optional

Description

companyId

String

Yes

The ID of the company. The default value is the ID of the company linked to the user who generated the API key.

targetMonth

String

Yes

The month for which the usage is returned. It should have the following format: mm/yyyy. The default value is the current month.

Return value

This method returns an Object containing the following:

  • usages - An array of Objects that contain the number of license seats used during the specified month, for each acquired service and product type.

    For Endpoint Security, the object contains the following members:

    • productType, the product type.

    • endpointMonthlyUsage, the monthly usage for endpoints scanned with local engines.

    • aLaCarteMonhtlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the A-la-carte protection model.

    • mspSecureMonthlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the Secure protection model.

    • mspSecurePlusMonthlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the Secure Plus protection model.

    • mspSecureExtraMonthlyUsage - the monthly usage for endpoints scanned with local engines that belong to companies that use the Secure Extra protection model.

    • mdrFoundationsMonthlyUsage, the monthly usage for the MDR Foundations service (MdrFoundations).

    • mdrResponseMonthlyUsage, the monthly usage for the MDR Response service (MdrResponse).

    • emailSecurityMonthlyUsage, the monthly usage (mailboxes) for Email Security (mailboxes).

    • mobileSecurityMonthlyUsage, the monthly usage for Mobile Security (devices).

    • exchangeMonthlyUsage, the monthly usage (mailboxes) for Exchange Protection.

    • encryptionMonthlyUsage, the monthly usage for Full Disk Encryption.

    • atsMonthlyUsage, the monthly usage for the Sandbox Analyzer and HyperDetect.

    • edrMonthlyUsage, the monthly usage for the Endpoint Detection and Response (EDR).

    • containerProtectionMonthlyUsage, the monthly usage for Container Protection.

    • integrityMonitoringUsage - the total number of endpoints that make use of Integrity Monitoring.

    • integrityMonitoring90DaysUsage - the number of endpoints that make use of Integrity Monitoring with 90 days event retention.

    • integrityMonitoring180DaysUsage - the number of endpoints that make use of Integrity Monitoring with 180 days event retention.

    • integrityMonitoring1YearUsage - the number of endpoints that make use of Integrity Monitoring with 1 year event retention.

    • xdrIdentitySensorsMonthlyUsage, the monthly usage of Azure AD and Active Directory integration in Sensors Management.

    • xdrProductivitySensorsMonthlyUsage, the monthly usage of Office 365 integration in Sensors Management.

    • xdrNetworkSensorsMonthlyUsage, the monthly usage of Network Sensor integration in Sensors Management.

    • xdrCloudSensorsMonthlyUsage, the monthly usage of AWS integration in Sensors Management.

    • patchManagementMonthlyUsage, the monthly usage for Patch Management.

    • sveVsMonthlyUsage, the monthly usage for virtual servers scanned with Security Server.

    • sveVdiMonthlyUsage, the monthly service usage (in hours) for virtual desktops scanned with Security Server.

    For Bitdefender EDR, the object contains the following members:

    • productType, the product type.

    • endpointMonthlyUsage, the monthly usage for endpoints scanned with local engines.

    • mdrFoundationsMonthlyUsage, the monthly usage for the MDR Foundations service (MdrFoundations).

    • mdrResponseMonthlyUsage, the monthly usage for the MDR Response service (MdrResponse).

  • minimumUsage - An Object containing types of licenses and the minimum number of slots which the company commits through legal agreement to use on a monthly basis:

    • endpointMonthlyUsage, the minimum number of endpoints that the client agreed to use from the main license.

    If the queried company does not have a monthly license or subscription, the method returns 0.

Example

Request:

  {
       "params": {
           "targetMonth": "03/2015",
           "companyId": "55115935b1a43dcc4a7b23c6"
       },
       "jsonrpc": "2.0",
       "method": "getMonthlyUsagePerProductType",
       "id": "5087eab8-b74f-4a3e-85b3-4271e85890d4"
  }  

Response:

{
  "result": {
    "usages": [
      {
        "endpointMonthlyUsage": 3,
        "encryptionMonthlyUsage": 0,
        "atsMonthlyUsage": 0,
        "edrMonthlyUsage": 0,
        "mdrFoundationsMonthlyUsage": 0,
        "mdrResponseMonthlyUsage": 0,
        "patchManagementMonthlyUsage": 0,
        "integrityMonitoringUsage": 0,
        "integrityMonitoring90DaysUsage": 0,
        "integrityMonitoring180DaysUsage": 0,
        "integrityMonitoring1YearUsage": 0,
        "sveVsMonthlyUsage": 0,
        "sveVdiMonthlyUsage": 0,
        "emailSecurityMonthlyUsage": 0,
        "mobileSecurityMonthlyUsage": 0,
        "exchangeMonthlyUsage": 0,
        "securityAwarenessUsage": null,
        "containerProtectionMonthlyUsage": 0,
        "xdrIdentitySensorsMonthlyUsage": 0,
        "xdrProductivitySensorsMonthlyUsage": 0,
        "xdrNetworkSensorsMonthlyUsage": 0,
        "xdrCloudSensorsMonthlyUsage": 0,
        "productType": 0,
        "aLaCarteMonthlyUsage": 0,
        "mspSecureMonthlyUsage": 3,
        "mspSecurePlusMonthlyUsage": 0,
        "mspSecureExtraMonthlyUsage": 0
      },
      {
        "endpointMonthlyUsage": 0,
        "mdrFoundationsMonthlyUsage": 0,
        "mdrResponseMonthlyUsage": 0,
        "productType": 3
      }
    ]
  },
  "jsonrpc": "2.0",
  "id": "2821",
  "error": null
}