contentType: addCopyFromContentTypeHub

Namespace: microsoft.graph

Add or sync a copy of a published content type from the content type hub to a target site or a list.

This method is part of the content type publishing changes to optimize the syncing of published content types to sites and lists, effectively switching from a "push everywhere" to "pull as needed" approach. The method allows users to pull content types directly from the content type hub to a site or list. For more information, see contentType: getCompatibleHubContentTypes and the blog post Syntex Product Updates – August 2021.

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}/lists/{listId}/contentTypes/addCopyFromContentTypeHub
POST /sites/{siteId}/contentTypes/addCopyFromContentTypeHub

Request headers

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 parameter that can be used with this action.

Parameter Type Description
contentTypeId String The ID of the content type in the content type hub that will be added to a target site or a list.

Response

If successful, this action returns a 200 OK response code and a contentType object in the response body if the content type is added synchronously or a 202 Accepted response code if the content type will be synced asynchronously. The response will also contain a Location header, which contains the location of the richLongRunningOperation that was created to handle the copy/sync operation. In case of an asynchronous operation, it can take up to 70 minutes to sync or add a content type.

Examples

Example 1: Synchronous pull

The following example adds or syncs a content type synchronously based on certain backend conditions.

Request

The following is an example of a synchronous operation.

POST https://graph.microsoft.com/v1.0/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub
Content-Type: application/json
Content-length: 33

{
  "contentTypeId": "0x0101"
}

Response

The following is an example of the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.type": "#microsoft.graph.contentType",
    "id": "0x0101",
    "description": "Document content type",
    "group": "Document Content Types",
    "hidden": false,
    "isBuiltIn": true,
    "name": "Document"
}

Example 2: Asynchronous pull

The following example adds or syncs a content type asynchronously because the backend conditions for a synchronous operation are not fulfilled.

Request

The following is an example of an asynchronous operation.

POST https://graph.microsoft.com/v1.0/sites/root/lists/Documents/contentTypes/addCopyFromContentTypeHub
Content-Type: application/json
Content-length: 33

{
  "contentTypeId": "0x0101"
}

Response

The following is an example of the response.

HTTP/1.1 202 Accepted
location: https://graph.microsoft.com/v1.0/sites/root/lists/Documents/operations/contentTypeCopy,0x0101