contentType: associateWithHubSites
Article
04/19/2023
6 contributors
Feedback
In this article
Namespace: microsoft.graph
Associate a published content type present in a content type hub with a list of hub sites.
Note: This feature is limited to tenants that have a SharePoint Syntex license.
Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions .
Permission type
Permissions (from least to most privileged)
Delegated (work or school account)
Sites.Manage.All, Sites.FullControl.All
Delegated (personal Microsoft account)
Not supported.
Application
Sites.Manage.All, Sites.FullControl.All
HTTP request
POST /sites/{siteId}/contentTypes/{contentTypeId}/associateWithHubSites
Note: The siteId represents a content type hub site.
Name
Description
Authorization
Bearer {token}. Required.
Content-Type
application/json. Required.
Request body
In the request body, supply a JSON representation of the parameters.
The following table shows the parameters that can be used with this action.
Parameter
Type
Description
hubSiteUrls
Collection(string)
List of canonical URLs to the hub sites where the content type needs to be enforced. Required.
propagateToExistingLists
Boolean
If true
, content types will be enforced on existing lists in the hub sites; otherwise, it'll be applied only to newly created lists.
Response
If successful, this action returns a 204 No Content
response code.
Example
Request
POST https://graph.microsoft.com/v1.0/sites/{site-id}/contentTypes/{contentTypeId}/associateWithHubSites
Content-Type: application/json
{
"hubSiteUrls":[
"https://graph.microsoft.com/v1.0/sites/{site-id}"
],
"propagateToExistingLists":false
}
// Code snippets are only available for the latest version. Current version is 5.x
var graphClient = new GraphServiceClient(requestAdapter);
var requestBody = new Microsoft.Graph.Sites.Item.ContentTypes.Item.AssociateWithHubSites.AssociateWithHubSitesPostRequestBody
{
HubSiteUrls = new List<string>
{
"https://graph.microsoft.com/v1.0/sites/{site-id}",
},
PropagateToExistingLists = false,
};
await graphClient.Sites["{site-id}"].ContentTypes["{contentType-id}"].AssociateWithHubSites.PostAsync(requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/Sites/Item/ContentTypes/Item/AssociateWithHubSites"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewAssociateWithHubSitesPostRequestBody()
hubSiteUrls := []string {
"https://graph.microsoft.com/v1.0/sites/{site-id}",
}
requestBody.SetHubSiteUrls(hubSiteUrls)
propagateToExistingLists := false
requestBody.SetPropagateToExistingLists(&propagateToExistingLists)
graphClient.Sites().BySiteId("site-id").ContentTypes().ByContentTypeId("contentType-id").AssociateWithHubSites().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 .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<String> hubSiteUrlsList = new LinkedList<String>();
hubSiteUrlsList.add("https://graph.microsoft.com/v1.0/sites/{site-id}");
Boolean propagateToExistingLists = false;
graphClient.sites("{site-id}").contentTypes("{contentTypeId}")
.associateWithHubSites(ContentTypeAssociateWithHubSitesParameterSet
.newBuilder()
.withHubSiteUrls(hubSiteUrlsList)
.withPropagateToExistingLists(propagateToExistingLists)
.build())
.buildRequest()
.post();
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 associateWithHubSites = {
hubSiteUrls: [
'https://graph.microsoft.com/v1.0/sites/{site-id}'
],
propagateToExistingLists: false
};
await client.api('/sites/{site-id}/contentTypes/{contentTypeId}/associateWithHubSites')
.post(associateWithHubSites);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new AssociateWithHubSitesPostRequestBody();
$requestBody->setHubSiteUrls(['https://graph.microsoft.com/v1.0/sites/{site-id}', ]);
$requestBody->setPropagateToExistingLists(false);
$graphServiceClient->sites()->bySiteId('site-id')->contentTypes()->byContentTypeId('contentType-id')->associateWithHubSites()->post($requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Import-Module Microsoft.Graph.Sites
$params = @{
hubSiteUrls = @(
"https://graph.microsoft.com/v1.0/sites/{site-id}"
)
propagateToExistingLists = $false
}
Join-MgSiteContentTypeWithHubSite -SiteId $siteId -ContentTypeId $contentTypeId -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Response
HTTP/1.1 204 No Content