Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
The following example shows a request.
POST https://graph.microsoft.com/v1.0/admin/configurationManagement/configurationMonitors
Content-Type: application/json
{
"displayName": "Demo Monitor",
"description": "This is a Demo Monitor",
"baseline": {
"displayName": "Demo Baseline",
"description": "This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact",
"resources": [
{
"displayName": "TestSharedMailbox Resource",
"resourceType": "microsoft.exchange.sharedmailbox",
"properties": {
"DisplayName": "TestSharedMailbox",
"Alias": "testSharedMailbox",
"Identity": "TestSharedMailbox",
"Ensure": "Present",
"PrimarySmtpAddress": "testSharedMailbox@contoso.onmicrosoft.com",
"EmailAddresses": [
"abc@contoso.onmicrosoft.com"
]
}
},
{
"displayName": "Accepted Domain",
"resourceType": "microsoft.exchange.accepteddomain",
"properties": {
"Identity": "contoso.onmicrosoft.com",
"DomainType": "InternalRelay",
"Ensure": "Present"
}
},
{
"displayName": "Mail Contact Resource",
"resourceType": "microsoft.exchange.mailcontact",
"properties": {
"Name": "Chris",
"DisplayName": "Chris",
"ExternalEmailAddress": "SMTP:chris@fabrikam.com",
"Alias": "Chrisa",
"Ensure": "Present"
}
}
]
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new ConfigurationMonitor
{
DisplayName = "Demo Monitor",
Description = "This is a Demo Monitor",
Baseline = new ConfigurationBaseline
{
DisplayName = "Demo Baseline",
Description = "This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact",
Resources = new List<BaselineResource>
{
new BaselineResource
{
DisplayName = "TestSharedMailbox Resource",
ResourceType = "microsoft.exchange.sharedmailbox",
Properties = new OpenComplexDictionaryType
{
AdditionalData = new Dictionary<string, object>
{
{
"DisplayName" , "TestSharedMailbox"
},
{
"Alias" , "testSharedMailbox"
},
{
"Identity" , "TestSharedMailbox"
},
{
"Ensure" , "Present"
},
{
"PrimarySmtpAddress" , "testSharedMailbox@contoso.onmicrosoft.com"
},
{
"EmailAddresses" , new List<string>
{
"abc@contoso.onmicrosoft.com",
}
},
},
},
},
new BaselineResource
{
DisplayName = "Accepted Domain",
ResourceType = "microsoft.exchange.accepteddomain",
Properties = new OpenComplexDictionaryType
{
AdditionalData = new Dictionary<string, object>
{
{
"Identity" , "contoso.onmicrosoft.com"
},
{
"DomainType" , "InternalRelay"
},
{
"Ensure" , "Present"
},
},
},
},
new BaselineResource
{
DisplayName = "Mail Contact Resource",
ResourceType = "microsoft.exchange.mailcontact",
Properties = new OpenComplexDictionaryType
{
AdditionalData = new Dictionary<string, object>
{
{
"Name" , "Chris"
},
{
"DisplayName" , "Chris"
},
{
"ExternalEmailAddress" , "SMTP:chris@fabrikam.com"
},
{
"Alias" , "Chrisa"
},
{
"Ensure" , "Present"
},
},
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Admin.ConfigurationManagement.ConfigurationMonitors.PostAsync(requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewConfigurationMonitor()
displayName := "Demo Monitor"
requestBody.SetDisplayName(&displayName)
description := "This is a Demo Monitor"
requestBody.SetDescription(&description)
baseline := graphmodels.NewConfigurationBaseline()
displayName := "Demo Baseline"
baseline.SetDisplayName(&displayName)
description := "This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact"
baseline.SetDescription(&description)
baselineResource := graphmodels.NewBaselineResource()
displayName := "TestSharedMailbox Resource"
baselineResource.SetDisplayName(&displayName)
resourceType := "microsoft.exchange.sharedmailbox"
baselineResource.SetResourceType(&resourceType)
properties := graphmodels.NewOpenComplexDictionaryType()
additionalData := map[string]interface{}{
"DisplayName" : "TestSharedMailbox",
"Alias" : "testSharedMailbox",
"Identity" : "TestSharedMailbox",
"Ensure" : "Present",
"PrimarySmtpAddress" : "testSharedMailbox@contoso.onmicrosoft.com",
emailAddresses := []string {
"abc@contoso.onmicrosoft.com",
}
}
properties.SetAdditionalData(additionalData)
baselineResource.SetProperties(properties)
baselineResource1 := graphmodels.NewBaselineResource()
displayName := "Accepted Domain"
baselineResource1.SetDisplayName(&displayName)
resourceType := "microsoft.exchange.accepteddomain"
baselineResource1.SetResourceType(&resourceType)
properties := graphmodels.NewOpenComplexDictionaryType()
additionalData := map[string]interface{}{
"Identity" : "contoso.onmicrosoft.com",
"DomainType" : "InternalRelay",
"Ensure" : "Present",
}
properties.SetAdditionalData(additionalData)
baselineResource1.SetProperties(properties)
baselineResource2 := graphmodels.NewBaselineResource()
displayName := "Mail Contact Resource"
baselineResource2.SetDisplayName(&displayName)
resourceType := "microsoft.exchange.mailcontact"
baselineResource2.SetResourceType(&resourceType)
properties := graphmodels.NewOpenComplexDictionaryType()
additionalData := map[string]interface{}{
"Name" : "Chris",
"DisplayName" : "Chris",
"ExternalEmailAddress" : "SMTP:chris@fabrikam.com",
"Alias" : "Chrisa",
"Ensure" : "Present",
}
properties.SetAdditionalData(additionalData)
baselineResource2.SetProperties(properties)
resources := []graphmodels.BaselineResourceable {
baselineResource,
baselineResource1,
baselineResource2,
}
baseline.SetResources(resources)
requestBody.SetBaseline(baseline)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
configurationMonitors, err := graphClient.Admin().ConfigurationManagement().ConfigurationMonitors().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ConfigurationMonitor configurationMonitor = new ConfigurationMonitor();
configurationMonitor.setDisplayName("Demo Monitor");
configurationMonitor.setDescription("This is a Demo Monitor");
ConfigurationBaseline baseline = new ConfigurationBaseline();
baseline.setDisplayName("Demo Baseline");
baseline.setDescription("This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact");
LinkedList<BaselineResource> resources = new LinkedList<BaselineResource>();
BaselineResource baselineResource = new BaselineResource();
baselineResource.setDisplayName("TestSharedMailbox Resource");
baselineResource.setResourceType("microsoft.exchange.sharedmailbox");
OpenComplexDictionaryType properties = new OpenComplexDictionaryType();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("DisplayName", "TestSharedMailbox");
additionalData.put("Alias", "testSharedMailbox");
additionalData.put("Identity", "TestSharedMailbox");
additionalData.put("Ensure", "Present");
additionalData.put("PrimarySmtpAddress", "testSharedMailbox@contoso.onmicrosoft.com");
LinkedList<String> emailAddresses = new LinkedList<String>();
emailAddresses.add("abc@contoso.onmicrosoft.com");
additionalData.put("EmailAddresses", emailAddresses);
properties.setAdditionalData(additionalData);
baselineResource.setProperties(properties);
resources.add(baselineResource);
BaselineResource baselineResource1 = new BaselineResource();
baselineResource1.setDisplayName("Accepted Domain");
baselineResource1.setResourceType("microsoft.exchange.accepteddomain");
OpenComplexDictionaryType properties1 = new OpenComplexDictionaryType();
HashMap<String, Object> additionalData1 = new HashMap<String, Object>();
additionalData1.put("Identity", "contoso.onmicrosoft.com");
additionalData1.put("DomainType", "InternalRelay");
additionalData1.put("Ensure", "Present");
properties1.setAdditionalData(additionalData1);
baselineResource1.setProperties(properties1);
resources.add(baselineResource1);
BaselineResource baselineResource2 = new BaselineResource();
baselineResource2.setDisplayName("Mail Contact Resource");
baselineResource2.setResourceType("microsoft.exchange.mailcontact");
OpenComplexDictionaryType properties2 = new OpenComplexDictionaryType();
HashMap<String, Object> additionalData2 = new HashMap<String, Object>();
additionalData2.put("Name", "Chris");
additionalData2.put("DisplayName", "Chris");
additionalData2.put("ExternalEmailAddress", "SMTP:chris@fabrikam.com");
additionalData2.put("Alias", "Chrisa");
additionalData2.put("Ensure", "Present");
properties2.setAdditionalData(additionalData2);
baselineResource2.setProperties(properties2);
resources.add(baselineResource2);
baseline.setResources(resources);
configurationMonitor.setBaseline(baseline);
ConfigurationMonitor result = graphClient.admin().configurationManagement().configurationMonitors().post(configurationMonitor);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
const options = {
authProvider,
};
const client = Client.init(options);
const configurationMonitor = {
displayName: 'Demo Monitor',
description: 'This is a Demo Monitor',
baseline: {
displayName: 'Demo Baseline',
description: 'This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact',
resources: [
{
displayName: 'TestSharedMailbox Resource',
resourceType: 'microsoft.exchange.sharedmailbox',
properties: {
DisplayName: 'TestSharedMailbox',
Alias: 'testSharedMailbox',
Identity: 'TestSharedMailbox',
Ensure: 'Present',
PrimarySmtpAddress: 'testSharedMailbox@contoso.onmicrosoft.com',
EmailAddresses: [
'abc@contoso.onmicrosoft.com'
]
}
},
{
displayName: 'Accepted Domain',
resourceType: 'microsoft.exchange.accepteddomain',
properties: {
Identity: 'contoso.onmicrosoft.com',
DomainType: 'InternalRelay',
Ensure: 'Present'
}
},
{
displayName: 'Mail Contact Resource',
resourceType: 'microsoft.exchange.mailcontact',
properties: {
Name: 'Chris',
DisplayName: 'Chris',
ExternalEmailAddress: 'SMTP:chris@fabrikam.com',
Alias: 'Chrisa',
Ensure: 'Present'
}
}
]
}
};
await client.api('/admin/configurationManagement/configurationMonitors')
.post(configurationMonitor);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\ConfigurationMonitor;
use Microsoft\Graph\Generated\Models\ConfigurationBaseline;
use Microsoft\Graph\Generated\Models\BaselineResource;
use Microsoft\Graph\Generated\Models\OpenComplexDictionaryType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ConfigurationMonitor();
$requestBody->setDisplayName('Demo Monitor');
$requestBody->setDescription('This is a Demo Monitor');
$baseline = new ConfigurationBaseline();
$baseline->setDisplayName('Demo Baseline');
$baseline->setDescription('This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact');
$resourcesBaselineResource1 = new BaselineResource();
$resourcesBaselineResource1->setDisplayName('TestSharedMailbox Resource');
$resourcesBaselineResource1->setResourceType('microsoft.exchange.sharedmailbox');
$resourcesBaselineResource1Properties = new OpenComplexDictionaryType();
$additionalData = [
'DisplayName' => 'TestSharedMailbox',
'Alias' => 'testSharedMailbox',
'Identity' => 'TestSharedMailbox',
'Ensure' => 'Present',
'PrimarySmtpAddress' => 'testSharedMailbox@contoso.onmicrosoft.com',
'EmailAddresses' => [
'abc@contoso.onmicrosoft.com', ],
];
$resourcesBaselineResource1Properties->setAdditionalData($additionalData);
$resourcesBaselineResource1->setProperties($resourcesBaselineResource1Properties);
$resourcesArray []= $resourcesBaselineResource1;
$resourcesBaselineResource2 = new BaselineResource();
$resourcesBaselineResource2->setDisplayName('Accepted Domain');
$resourcesBaselineResource2->setResourceType('microsoft.exchange.accepteddomain');
$resourcesBaselineResource2Properties = new OpenComplexDictionaryType();
$additionalData = [
'Identity' => 'contoso.onmicrosoft.com',
'DomainType' => 'InternalRelay',
'Ensure' => 'Present',
];
$resourcesBaselineResource2Properties->setAdditionalData($additionalData);
$resourcesBaselineResource2->setProperties($resourcesBaselineResource2Properties);
$resourcesArray []= $resourcesBaselineResource2;
$resourcesBaselineResource3 = new BaselineResource();
$resourcesBaselineResource3->setDisplayName('Mail Contact Resource');
$resourcesBaselineResource3->setResourceType('microsoft.exchange.mailcontact');
$resourcesBaselineResource3Properties = new OpenComplexDictionaryType();
$additionalData = [
'Name' => 'Chris',
'DisplayName' => 'Chris',
'ExternalEmailAddress' => 'SMTP:chris@fabrikam.com',
'Alias' => 'Chrisa',
'Ensure' => 'Present',
];
$resourcesBaselineResource3Properties->setAdditionalData($additionalData);
$resourcesBaselineResource3->setProperties($resourcesBaselineResource3Properties);
$resourcesArray []= $resourcesBaselineResource3;
$baseline->setResources($resourcesArray);
$requestBody->setBaseline($baseline);
$result = $graphServiceClient->admin()->configurationManagement()->configurationMonitors()->post($requestBody)->wait();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
Import-Module Microsoft.Graph.ConfigurationManagement
$params = @{
displayName = "Demo Monitor"
description = "This is a Demo Monitor"
baseline = @{
displayName = "Demo Baseline"
description = "This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact"
resources = @(
@{
displayName = "TestSharedMailbox Resource"
resourceType = "microsoft.exchange.sharedmailbox"
properties = @{
DisplayName = "TestSharedMailbox"
Alias = "testSharedMailbox"
Identity = "TestSharedMailbox"
Ensure = "Present"
PrimarySmtpAddress = "testSharedMailbox@contoso.onmicrosoft.com"
EmailAddresses = @(
"abc@contoso.onmicrosoft.com"
)
}
}
@{
displayName = "Accepted Domain"
resourceType = "microsoft.exchange.accepteddomain"
properties = @{
Identity = "contoso.onmicrosoft.com"
DomainType = "InternalRelay"
Ensure = "Present"
}
}
@{
displayName = "Mail Contact Resource"
resourceType = "microsoft.exchange.mailcontact"
properties = @{
Name = "Chris"
DisplayName = "Chris"
ExternalEmailAddress = "SMTP:chris@fabrikam.com"
Alias = "Chrisa"
Ensure = "Present"
}
}
)
}
}
New-MgAdminConfigurationManagementConfigurationMonitor -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.configuration_monitor import ConfigurationMonitor
from msgraph.generated.models.configuration_baseline import ConfigurationBaseline
from msgraph.generated.models.baseline_resource import BaselineResource
from msgraph.generated.models.open_complex_dictionary_type import OpenComplexDictionaryType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ConfigurationMonitor(
display_name = "Demo Monitor",
description = "This is a Demo Monitor",
baseline = ConfigurationBaseline(
display_name = "Demo Baseline",
description = "This is a baseline with resources SharedMailbox, AcceptedDomain and MailContact",
resources = [
BaselineResource(
display_name = "TestSharedMailbox Resource",
resource_type = "microsoft.exchange.sharedmailbox",
properties = OpenComplexDictionaryType(
additional_data = {
"display_name" : "TestSharedMailbox",
"alias" : "testSharedMailbox",
"identity" : "TestSharedMailbox",
"ensure" : "Present",
"primary_smtp_address" : "testSharedMailbox@contoso.onmicrosoft.com",
"email_addresses" : [
"abc@contoso.onmicrosoft.com",
],
}
),
),
BaselineResource(
display_name = "Accepted Domain",
resource_type = "microsoft.exchange.accepteddomain",
properties = OpenComplexDictionaryType(
additional_data = {
"identity" : "contoso.onmicrosoft.com",
"domain_type" : "InternalRelay",
"ensure" : "Present",
}
),
),
BaselineResource(
display_name = "Mail Contact Resource",
resource_type = "microsoft.exchange.mailcontact",
properties = OpenComplexDictionaryType(
additional_data = {
"name" : "Chris",
"display_name" : "Chris",
"external_email_address" : "SMTP:chris@fabrikam.com",
"alias" : "Chrisa",
"ensure" : "Present",
}
),
),
],
),
)
result = await graph_client.admin.configuration_management.configuration_monitors.post(request_body)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
The following example shows the response.