> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://contentful.com/developers/docs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/_mcp/server. # Delete an extension DELETE https://api.contentful.com/spaces/{space_id}/environments/{environment_id}/extensions/{extension_id} Reference: https://contentful.com/developers/docs/references/content-management-api/ui-extensions/delete-an-extension ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Path parameters - `space_id` (string, required) — ID of the space in form of a string - `environment_id` (string, required) — ID of the environment in form of a string - `extension_id` (string, required) — ID of the extension in form of a string ## Response ### 204 No Content - Request successful, no content returned ## Examples **SDK Code** ```android Android // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); // First: Fetch an extension to change. client .uiExtensions() .async() .fetchOne( "", new CMACallback() { @Override protected void onSuccess(CMAUiExtension result) { // Last: Delete it to contentful. client .uiExtensions() .async() .delete( result, new CMACallback() { @Override protected void onSuccess(Integer result) { new AlertDialog.Builder(context) .setTitle("Contentful") .setMessage("Deleting resulted in: " + result + ".") .show(); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not delete the extension." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not delete one extension." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); ``` ```java Java // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); final CMAUiExtension extension = client .uiExtensions() .fetchOne(""); client .uiExtensions() .delete(extension); ``` ```kotlin Kotlin // Create the Contentful client. val client = CMAClient.Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build() val extension = client .uiExtensions() .fetchOne("") client .uiExtensions() .delete(extension) ``` ```js-legacy JavaScript (legacy) // SDK currently doesn't implement this endpoint. ``` ```javascript JavaScript import { createClient } from 'contentful-management' // Client init const client = contentful.createClient({ accessToken: '' }) await client.extension.delete({ spaceId: '', environmentId: '', extensionId: '', }); ``` ```php PHP $client = new \Contentful\Management\Client(''); $environment = $client->getEnvironmentProxy('', ''); $extension = $environment->getExtension(''); $extension->delete(); ``` ```ruby Ruby require 'contentful/management' client = Contentful::Management::Client.new('') ui_extension = client.ui_extensions('', '').find('') ui_extension.destroy ``` ```python Python from contentful_management import Client client = Client('') ui_extension = client.ui_extensions('', '').find('') ui_extension.delete() ``` ```.net .NET // This client should only be created once per application. var httpClient = new HttpClient(); var client = new ContentfulManagementClient(httpClient, "", ""); await client.DeleteExtension(""); ``` ```swift Swift No snippet for this SDK. ```