Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
title description ms.localizationpriority author ms.prod doc_type
Delete open extension
Delete an open extension (openTypeExtension object) from the specified instance of a resource.

Delete open extension

Namespace: microsoft.graph

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

See the table in the Permissions section for the list of resources that support open extensions.


Depending on the resource you're deleting the extension from and the permission type (delegated or application) requested, the permission specified in the following table is the least privileged required to call this API. To learn more, including taking caution before choosing more privileged permissions, search for the following permissions in Permissions.

Supported resource Delegated (work or school account) Delegated (personal Microsoft account) Application
device Directory.AccessAsUser.All Not supported Device.ReadWrite.All
event Calendars.ReadWrite Calendars.ReadWrite Calendars.ReadWrite
group Group.ReadWrite.All Not supported Group.ReadWrite.All
group event Group.ReadWrite.All Not supported Not supported
group post Group.ReadWrite.All Not supported Group.ReadWrite.All
message Mail.ReadWrite Mail.ReadWrite Mail.ReadWrite
organization Organization.ReadWrite.All Not supported Organization.ReadWrite.All
personal contact Contacts.ReadWrite Contacts.ReadWrite Contacts.ReadWrite
todoTask Tasks.ReadWrite Tasks.ReadWrite Tasks.ReadWrite.All
todoTasklist Tasks.ReadWrite Tasks.ReadWrite Tasks.ReadWrite.All
user User.ReadWrite User.ReadWrite User.ReadWrite.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 /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}
DELETE /me/todo/lists/{todoTaskListId}/extensions/{extensionId}
DELETE /me/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
DELETE /users/{userId}/todo/lists/{todoTaskListId}/extensions/{extensionId}
DELETE /users/{userId}/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
DELETE /users/{id|userPrincipalName}/extensions/{extensionId}
DELETE /me/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.

Path parameters

Parameter Type Description
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.


DELETE https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral


[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

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

DELETE https://graph.microsoft.com/v1.0/groups/f5480dfd-7d77-4d0b-ba2e-3391953cc74a/events/AAMkADVlN17IsAAA=/extensions/Com.Contoso.Referral

Here is an example of the response.

HTTP/1.1 204 No Content