Skip to main content

createCompany

This method creates a customer or partner company account.

Parameters

Parameter

Type

Optional

Description

type

Number

No

The company type. Available values:

  • 0 for Partner companies,

  • 1 for Customer companies.

name

String

No

The company name. Must be unique.

parentId

String

Yes

The ID of the parent partner company.

address

String

Yes

The company's physical address.

country

String

Yes

The company's country of operation. The value must be in ISO 3166 format. Default value: N/A.

state

String

Yes

The company's country state of operation. The value must be in ISO 3166 format. Default value: N/A.

phone

String

Yes

The company's phone number.

industry

String

Yes

The industry the company operates in. Possible values:

  • 0 - UNDEFINED

  • 1 - AEROSPACE

  • 2 - AGRICULTURE

  • 3 - ARTS_ENTERTAINMENT

  • 4 - AUTOMOTIVE

  • 5 - BUSINESS_ASSOCIATIONS

  • 6 - CHEMICALS

  • 7 - COMMERCIAL_SERVICES

  • 8 - CONGLOMERATE

  • 9 - CONSTRUCTION

  • 10 - CONSULTING

  • 11 - CONTAINERS_PACKAGING:

  • 12 - DEFENSE

  • 13 - EDUCATION_RESEARCH

  • 14 - ENERGY

  • 15 - ENGINEERING

  • 16 - FINANCIAL_SERVICES

  • 17 - FOOD_BEVERAGES

  • 18 - GOVERNMENT

  • 19 - HEALTHCARE

  • 20 - HOSPITALITY_LEISURE

  • 21 - MANUFACTURING

  • 22 - MARINE

  • 23 - MEDIA

  • 24 - MINING

  • 25 - NON_PROFIT

  • 26 - OFFICES_OF_LAWYERS

  • 27 - PAPER_FOREST_PRODUCTS

  • 28 - RETAIL

  • 29 - SUPPORT_SERVICE_ACTIVITIES

  • 30 - TECHNOLOGY

  • 31 - TELECOMMUNICATIONS_SERVICES

  • 32 - TRANSPORTATION

  • 33 - UTILITIES

  • 34 - WHOLESALE

Default value: 0.

canBeManagedByAbove

Boolean

Yes

An option defining if the security of the new company can be managed by its Partner company. Available values: true or false. The default value is true.

enforce2FA

Boolean

Yes

An parameter that defines Two Factor Authentication (2FA) enforcement for all GravityZone user accounts in the company. The value is always true.

skip2FAPeriod

Number

Yes

The period, defined in days, for which the users of the company can have their devices exempted from providing a two-factor code at authentication. Available values: 0, 1, 3, 7, 14, 30, and 90.

accountEmail

String

Yes

The email for the new user account to be linked to the new company. If the parameter canBeManagedByAbove is set to false, the accountEmail parameter must be passed.

accountFullName

String

Yes

The full name of the new user account to be linked to the new company. This parameter is required when canBeManagedByAbove is set to false.

contactPerson

Object

Yes

Contains information regarding the company's designated contact person. The object contains the following fields:

  • fullName - the person's first and last name.

  • email - their business email address.

    Important

    This field is mandatory when the contactPerson parameter is included in the request.

  • phoneNumber, their business phone number.

  • companyRole, their position in the company.

accountTimezone

String

Yes

The timezone of the new user account to be linked to the new company. The default value is GMT (UTC).

accountLanguage

String

Yes

The user interface language for the new user account to be linked to the new company. The default value is en_US.

licenseSubscription

Object

Yes

An object containing the license details:

  • type, an integer representing the license subscription type. Possible values: 1 (trial), 2 (license), 3 (monthly subscription), 4 (monthly license trial), 5 (monthly subscription trial) or 6 (FRAT subscription).

  • licenseKey, a string representing a valid license key. This parameter is mandatory for the license subscription type 2 (licensed).

  • reservedSlots, an integer representing the number of seats ensured for the target company. Valid values are between 1 and the number of free seats of the parent Partner company. This parameter should be set when license subscription type has value 3 or 5 (inherited). If not specified, all license seats will be taken from the licenses pool shared with other companies.

  • endSubscription, a String representing 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, an Integer representing 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, a boolean specifying whether the company can use Security for Exchange or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

  • 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. This parameter can only be set when license subscription type has the value 3 (monthly subscription).

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

  • assignedProductType, an integer representing the type of the product that the company will use. Possible values: 0 for Endpoint Security, 3 for Bitdefender EDR. The default value is 0. You can use this parameter only with the following types of licensing: 3 for monthly subscription, 5 for monthly subscription trial.

  • additionalProductTypes, an array of integers representing types of products. This parameter allows the Partner company being created to assign various products to their clients. Possible values of the array elements: 0 for Endpoint Security, 3 for Bitdefender EDR. If set, it must contain, at least the value of the assignedProductType. The default value is the same as for assignedProductType. You can use this parameter only with the following types of licensing: 3 for monthly subscription, 5 for monthly subscription trial.

  • 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, an array of strings representing types of protection models. This parameter allows the Partner company being created 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.

  • manageIntegrityMonitoring - a boolean specifying whether the company can use Integrity Monitoring service or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

  • imDataRetention - an integer specifying the number of days the events will be stored for. This option is only returned if manageIntegrityMonitoring is set to 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). Companies with license type set to 5 (monthly subscription trial) can only have this option set to 0 (7 days retention).

  • ownUse, an object containing activation settings for the company's services and add-ons. This setting is only compatible with companies that have a license of type 3 or 5 (monthly inherited subscription).

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

    • manageXDRProductivityApps, gives access to Sensors Management integration for Office 365. Available values: true or false.

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

    • manageXDRCloudWorkloads, gives access to Sensors Management integration for AWS. Available values: true or false.

      Important

      To assign the true value to any of the parameters above, the manageEventCorrelator parameter or the manageEventCorrelator attribute 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.

      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, 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. Available 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.

  • manageEncryption, a boolean specifying whether the company can use Full Disk Encryption or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

  • manageRemoteEnginesScanning, a boolean specifying whether the company can use Security for Virtualized Environments or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

    Note

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

  • manageHyperDetect, a boolean specifying whether the company can use HyperDetect or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

    Note

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

  • manageSandboxAnalyzer, a boolean specifying whether the company can use Sandbox Analyzer or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

    Note

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

  • managePatchManagement, a boolean specifying whether the company can use Patch Management or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

  • manageEventCorrelator, a boolean specifying whether the company can use Endpoint Detection and Response (EDR) or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). EDR requires Sandbox Analyzer and HyperDetect to be enabled. Thus, setting this parameter to true will automatically set to true these two parameters: manageSandboxAnalyzer and manageHyperDetect. If the parameter is omitted, the service will not be available.

    Note

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

  • manageEmailSecurity, a boolean specifying whether the company can use Email Security service or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

  • manageMobileSecurity, a boolean specifying whether the company can use Mobile Security service or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable.

  • manageContainerProtection, a boolean specifying whether the company can use Container Protection service or not. The default value is false. This parameter makes sense only when creating a company with license of type 3 or 5 (monthly inherited subscription). If omitted, the service will be unavailable. Value can not be true if assignedProtectionModel is set to mspSecure, mspSecurePlus or mspSecureExtra.

    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, 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. 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 to the companies it creates. If omitted,reselling will be unavailable. This makes sense only for partner companies.

If not specified the company will be created with license subscription type 1, trial.

customFields

Object

Yes

An object containing the custom fields values for the company.

Return value

This method returns a String: the ID of the newly-created company.

Example

Request:

{
    "params": {
        "type": 0,
        "name": "Partner LTD",
        "parentId": "64babaafab366c53d20c83ca",
        "address": "Str Example No 1",
        "country": "US",
        "state": "US-CA",
        "phone": "0040740000000",
        "industry": 2,
        "canBeManagedByAbove": true,
        "enforce2FA": true,
        "skip2FAPeriod": 3,
        "accountEmail": "[email protected]",
        "accountFullName": "Partner account",
        "contactPerson": {
            "fullName": "Stephen Johnson",
            "email": "[email protected]",
            "phoneNumber": "0040740000001",
            "companyRole": "Owner / President"
        },
        "licenseSubscription": {
            "type": 3,
            "reservedSlots": 120,
            "endSubscription": "2028-04-14",
            "autoRenewPeriod": 12,
            "manageExchange": false,
            "manageEncryption": false,
            "managePatchManagement": false,
            "manageIntegrityMonitoring": true,
            "imDataRetention": 2,
            "ownUse": {
                "manageXDRIdentityProviders": true,
                "manageXDRProductivityApps": true,
                "manageXDRNetwork": true,
                "manageXDRCloudWorkloads": true,
                "manageRemoteEnginesScanning": true,
                "manageContainerProtection": true,
                "manageHyperDetect": true,
                "manageSandboxAnalyzer": true,
                "manageEventCorrelator": true
            },
            "resell": {
                "manageXDRResell": true,
                "manageRemoteEnginesScanningResell": true,
                "manageContainerProtectionResell": true,
                "manageHyperDetectResell": true,
                "manageSandboxAnalyzerResell": true,
                "manageEventCorrelatorResell": true
            },
            "minimumUsage": {
                "endpointMonthlyUsage": 120
            },
            "assignedProductType": 0,
            "additionalProductTypes": [
                0
            ],
            "assignedProtectionModel": "aLaCarte",
            "additionalProtectionModels": [
                "aLaCarte",
                "mspSecure",
                "mspSecurePlus",
                "mspSecureExtra"
            ],
            "licensedServices": {
                "mdrServiceOwnUse": 1
            }
        },
        "customFields": {
            "referenceID": "004562",
            "vertical": "healthcare",
            "partner_type": "platinum",
            "security_level": "high",
            "payment_status": "goodstanding"
        }
    },
    "jsonrpc": "2.0",
    "method": "createCompany",
    "id": "e249c22c-0ada-4772-a9f1-ee1cbb322588"
}

Response:

{
    "id":"e249c22c-0ada-4772-a9f1-ee1cbb322588",
    "jsonrpc":"2.0",
    "result": "5493dcd2b1a43df00b7b23c6"
}