Virtual Tenants 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 VirtualTenant object. 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 VirtualTenant

The VirtualTenant 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.

Detailed property types

QueryFilter

A QueryFilter object is used to define rules for filtering properties within a VirtualTenant. It consists of the following properties:

Property Type Description
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 name list of the roles assigned to the group.
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).

NestedGroups

Property Type Description
Id string The unique identifier for the nested group.
Name string The name of the nested group.
Type enum The type of the group (DistributionGroup, Microsoft365Group, SecurityGroup).

Examples

Example of a VirtualTenant Object

Here’s an example of a VirtualTenant object:

{
    "Id": "60d5ec49ad13f9137aef5e30",
    "Name": "Example Tenant",
    "Description": "This is an example virtual tenant.",
    "Users": ["user1@example.com", "user2@example.com"],
    "OperatorsGroups": [
      {
        "Id": "group1-id",
        "Name": "Operators Group 1",
        "Type": "SecurityGroup"
      }
    ],
    "UsersGroups": [
      {
        "Id": "group2-id",
        "Name": "Users Group 1",
        "Type": "DistributionGroup"
      }
    ],
    "DeviceSecurityGroups": [
      {
        "Id": "group3-id",
        "Name": "Device Group 1",
        "Type": "SecurityGroup"
      }
    ],
    "UserFilters": [
      {
        "Name": "Department",
        "Value": "IT",
        "Condition": "And",
        "Operation": "Equals"
      }
    ],
    "DistributionGroupFilters": [
      {
        "Name": "Location",
        "Value": "New York",
        "Condition": "And",
        "Operation": "Contains"
      }
    ],
    "SecurityGroupFilters": [
      {
        "Name": "Role",
        "Value": "Admin",
        "Condition": "And",
        "Operation": "Equals"
      }
    ],
    "Microsoft365GroupFilters": [
      {
        "Name": "Team",
        "Value": "Development",
        "Condition": "And",
        "Operation": "Equals"
      }
    ],
    "DeviceFilters": [
      {
        "Name": "DeviceType",
        "Value": "Laptop",
        "Condition": "And",
        "Operation": "Equals"
      }
    ],
    "OrganizationalUnitFilters": [
      {
        "Name": "OU",
        "Value": "Engineering",
        "Condition": "And",
        "Operation": "Contains"
      }
    ],
    "UserDomainFilter": ["example.com", "example.org"],
    "DistributionGroupDomainFilter": ["example.com", "example.org"]
  }

Download

Visualize and interact with our API by downloading Swagger UI:

Download the v-Tenants API Swagger UI

Understand our API’s data structure by downloading the JSON schema: 
Download the v-Tenants JSON schema