Delete open extension

Important: APIs under the /beta version in Microsoft Graph are in preview and are subject to change. Use of these APIs in production applications is not supported.

Delete an open extension (openTypeExtension object) from the specified instance of a resource.


One of the following permissions is required to execute this API, depending on the resource you're deleting the extension from:

Supported resource Permission Supported resource Permission
administrativeunit Directory.AccessAsUser.All device Device.ReadWrite.All
event Calendars.ReadWrite group Group.ReadWrite.All
group event Group.ReadWrite.All group post Group.ReadWrite.All
message Mail.ReadWrite organization Directory.AccessAsUser.All
personal contact Contacts.ReadWrite user Directory.AccessAsUser.All

HTTP request

In the request, identify the resource instance, use the extensions navigation property of that instance to identify the extension, and do a DELETE on that extension instance.

DELETE /administrativeUnits/{Id}/extensions/{extensionId}
DELETE /devices/{Id}/extensions/{extensionId}
DELETE /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
DELETE /groups/{id}/extensions/{extensionId}
DELETE /groups/{id}/events/{id}/extensions/{extensionId}
DELETE /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
DELETE /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
DELETE /organization/{Id}/extensions/{extensionId}
DELETE /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
DELETE /users/{id|userPrincipalName}/extensions/{extensionId}

Note: The above syntax shows some common ways to identify a resource instance, in order to delete an extension from it. All other syntax that allows you to identify these resource instances supports deleting open extensions from them in a similar way.


Parameter Type Description
URL parameters    
id string A unique identifier for an instance in the corresponding collection. Required.
extensionId string This can be an extension name which is a unique text identifier for the extension, or a fully qualified name which concatenates the extension type and unique text identifier. The fully qualified name is returned in the id property when you create the extension. Required.

Request headers

Name Value
Authorization Bearer {token}. Required.

Request body

Do not supply a request body for this method.


If successful, this method returns 204, No Content response code. It does not return anything in the response body.



The first example references an extension by its name and deletes the extension in the specified message.


The second example deletes an extension in the specified group event.


Here is an example of the response.

HTTP/1.1 204 No Content