Provide credentials for establishing connectivity with the target system.
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.
Important
For delegated access using work or school accounts, the signed-in user must be an owner or member of the group or be assigned a supported Microsoft Entra role or a custom role that grants the permissions required for this operation. This operation supports the following built-in roles, which provide only the least privilege necessary:
- Application Administrator
- Cloud Application Administrator
- Hybrid Identity Administrator - to configure Microsoft Entra Cloud Sync
In the request body, provide a JSON object with the following parameters.
The following example shows a request.
PUT https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/secrets
Content-type: application/json
{
"value": [
{
"key": "BaseAddress",
"value": "user@domain.com"
},
{
"key": "SecretToken",
"value": "password-value"
},
{
"key": "SyncNotificationSettings",
"value": "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}"
},
{
"key": "SyncAll",
"value": "false"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.ServicePrincipals.Item.Synchronization.Secrets;
using Microsoft.Graph.Beta.Models;
var requestBody = new SecretsPutRequestBody
{
Value = new List<SynchronizationSecretKeyStringValuePair>
{
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.BaseAddress,
Value = "user@domain.com",
},
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.SecretToken,
Value = "password-value",
},
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.SyncNotificationSettings,
Value = "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}",
},
new SynchronizationSecretKeyStringValuePair
{
Key = SynchronizationSecret.SyncAll,
Value = "false",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.ServicePrincipals["{servicePrincipal-id}"].Synchronization.Secrets.PutAsSecretsPutResponseAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphserviceprincipals "github.com/microsoftgraph/msgraph-beta-sdk-go/serviceprincipals"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphserviceprincipals.NewSecretsPutRequestBody()
synchronizationSecretKeyStringValuePair := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.BASEADDRESS_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair.SetKey(&key)
value := "user@domain.com"
synchronizationSecretKeyStringValuePair.SetValue(&value)
synchronizationSecretKeyStringValuePair1 := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.SECRETTOKEN_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair1.SetKey(&key)
value := "password-value"
synchronizationSecretKeyStringValuePair1.SetValue(&value)
synchronizationSecretKeyStringValuePair2 := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.SYNCNOTIFICATIONSETTINGS_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair2.SetKey(&key)
value := "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}"
synchronizationSecretKeyStringValuePair2.SetValue(&value)
synchronizationSecretKeyStringValuePair3 := graphmodels.NewSynchronizationSecretKeyStringValuePair()
key := graphmodels.SYNCALL_SYNCHRONIZATIONSECRET
synchronizationSecretKeyStringValuePair3.SetKey(&key)
value := "false"
synchronizationSecretKeyStringValuePair3.SetValue(&value)
value := []graphmodels.SynchronizationSecretKeyStringValuePairable {
synchronizationSecretKeyStringValuePair,
synchronizationSecretKeyStringValuePair1,
synchronizationSecretKeyStringValuePair2,
synchronizationSecretKeyStringValuePair3,
}
requestBody.SetValue(value)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
secrets, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-id").Synchronization().Secrets().PutAsSecretsPutResponse(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.serviceprincipals.item.synchronization.secrets.SecretsPutRequestBody secretsPutRequestBody = new com.microsoft.graph.beta.serviceprincipals.item.synchronization.secrets.SecretsPutRequestBody();
LinkedList<SynchronizationSecretKeyStringValuePair> value = new LinkedList<SynchronizationSecretKeyStringValuePair>();
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair.setKey(SynchronizationSecret.BaseAddress);
synchronizationSecretKeyStringValuePair.setValue("user@domain.com");
value.add(synchronizationSecretKeyStringValuePair);
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair1 = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair1.setKey(SynchronizationSecret.SecretToken);
synchronizationSecretKeyStringValuePair1.setValue("password-value");
value.add(synchronizationSecretKeyStringValuePair1);
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair2 = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair2.setKey(SynchronizationSecret.SyncNotificationSettings);
synchronizationSecretKeyStringValuePair2.setValue("{\"Enabled\":false,\"DeleteThresholdEnabled\":false}");
value.add(synchronizationSecretKeyStringValuePair2);
SynchronizationSecretKeyStringValuePair synchronizationSecretKeyStringValuePair3 = new SynchronizationSecretKeyStringValuePair();
synchronizationSecretKeyStringValuePair3.setKey(SynchronizationSecret.SyncAll);
synchronizationSecretKeyStringValuePair3.setValue("false");
value.add(synchronizationSecretKeyStringValuePair3);
secretsPutRequestBody.setValue(value);
var result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").synchronization().secrets().put(secretsPutRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const secrets = {
value: [
{
key: 'BaseAddress',
value: 'user@domain.com'
},
{
key: 'SecretToken',
value: 'password-value'
},
{
key: 'SyncNotificationSettings',
value: '{\"Enabled\':false,\'DeleteThresholdEnabled\':false}"
},
{
key: 'SyncAll',
value: 'false'
}
]
};
await client.api('/servicePrincipals/{id}/synchronization/secrets')
.version('beta')
.put(secrets);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\ServicePrincipals\Item\Synchronization\Secrets\SecretsPutRequestBody;
use Microsoft\Graph\Beta\Generated\Models\SynchronizationSecretKeyStringValuePair;
use Microsoft\Graph\Beta\Generated\Models\SynchronizationSecret;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SecretsPutRequestBody();
$valueSynchronizationSecretKeyStringValuePair1 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair1->setKey(new SynchronizationSecret('baseAddress'));
$valueSynchronizationSecretKeyStringValuePair1->setValue('user@domain.com');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair1;
$valueSynchronizationSecretKeyStringValuePair2 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair2->setKey(new SynchronizationSecret('secretToken'));
$valueSynchronizationSecretKeyStringValuePair2->setValue('password-value');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair2;
$valueSynchronizationSecretKeyStringValuePair3 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair3->setKey(new SynchronizationSecret('syncNotificationSettings'));
$valueSynchronizationSecretKeyStringValuePair3->setValue('{\"Enabled\":false,\"DeleteThresholdEnabled\":false}');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair3;
$valueSynchronizationSecretKeyStringValuePair4 = new SynchronizationSecretKeyStringValuePair();
$valueSynchronizationSecretKeyStringValuePair4->setKey(new SynchronizationSecret('syncAll'));
$valueSynchronizationSecretKeyStringValuePair4->setValue('false');
$valueArray []= $valueSynchronizationSecretKeyStringValuePair4;
$requestBody->setValue($valueArray);
$result = $graphServiceClient->servicePrincipals()->byServicePrincipalId('servicePrincipal-id')->synchronization()->secrets()->put($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
value = @(
@{
key = "BaseAddress"
value = "user@domain.com"
}
@{
key = "SecretToken"
value = "password-value"
}
@{
key = "SyncNotificationSettings"
value = '{"Enabled":false,"DeleteThresholdEnabled":false}'
}
@{
key = "SyncAll"
value = "false"
}
)
}
Set-MgBetaServicePrincipalSynchronizationSecret -ServicePrincipalId $servicePrincipalId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.serviceprincipals.item.synchronization.secrets.secrets_put_request_body import SecretsPutRequestBody
from msgraph_beta.generated.models.synchronization_secret_key_string_value_pair import SynchronizationSecretKeyStringValuePair
from msgraph_beta.generated.models.synchronization_secret import SynchronizationSecret
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SecretsPutRequestBody(
value = [
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.BaseAddress,
value = "user@domain.com",
),
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.SecretToken,
value = "password-value",
),
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.SyncNotificationSettings,
value = "{\"Enabled\":false,\"DeleteThresholdEnabled\":false}",
),
SynchronizationSecretKeyStringValuePair(
key = SynchronizationSecret.SyncAll,
value = "false",
),
],
)
result = await graph_client.service_principals.by_service_principal_id('servicePrincipal-id').synchronization.secrets.put(request_body)
The following example shows the response.