> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# DeleteComponent

# Package: appExtensions

# Namespace: ComponentsService

# Method link: https://dev.wix.com/docs/api-reference/app-management/app-extensions/app-extensions/delete-component.md

## Introduction

Deletes a component's draft version.

Previously published component versions aren't deleted. Deletion is blocked for component types defined as non-deletable.

REST callers currently specify the component ID in the `id` path parameter; `componentId` is the replacement field for SDK and RPC callers.

---

## REST API

### Schema

```
 Method: deleteComponent
 Description: Deletes a component's draft version.  Previously published component versions aren't deleted. Deletion is blocked for component types defined as non-deletable.  REST callers currently specify the component GUID in the `id` path parameter; `componentId` is the replacement field for SDK and RPC callers.
 URL: https://www.wixapis.com/apps/v1/components/{id}
 Method: DELETE
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  id, appId
 Method parameters: 
   query param name: appId | type: appId | description: App GUID. | required: true | validation: format GUID
   query param name: componentId | type: componentId | description: TODO after deprecation[(.wix.api.format) = GUID]  
   param name: id | type:   none | required: true 
   query param name: revision | type: revision | description: Current component revision.  
 Return type: DeleteComponentResponse
  EMPTY-OBJECT {}


```

### Examples

### Delete a component
Deletes a component's draft version. Specify the app ID and current revision as query parameters.

```curl
curl -X DELETE \
'https://www.wixapis.com/apps/v1/components/v1/components/a1c8e5d2-3b47-4f60-9e21-7d4a6c0f29b8?appId=7b3f9a21-0c64-4e8a-b1d2-5f6c8e90a4d3&revision=2' \
-H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.appComponents.components.deleteComponent(_id, appId, options)
 Description: Deletes a component's draft version.  Previously published component versions aren't deleted. Deletion is blocked for component types defined as non-deletable.  REST callers currently specify the component GUID in the `id` path parameter; `componentId` is the replacement field for SDK and RPC callers.
 # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present.
 Required parameters:  appId, _id
 Method parameters: 
   param name: _id | type: string   | required: true 
   param name: appId | type: string | description: App GUID. | required: true | validation: format GUID
   param name: options | type: DeleteComponentOptions  none  
        - name: revision | type: string | description: Current component revision.  
        - name: componentId | type: string | description: TODO after deprecation[(.wix.api.format) = GUID]  
 Return type: PROMISE<DeleteComponentResponse>
  EMPTY-OBJECT {}


```

### Examples

### Delete a component
Deletes a component's draft version. Previously published versions aren't deleted.

```javascript
import { components } from "@wix/app-components";

const componentId = "a1c8e5d2-3b47-4f60-9e21-7d4a6c0f29b8";
const appId = "7b3f9a21-0c64-4e8a-b1d2-5f6c8e90a4d3";

const options = {
  revision: "2",
};

async function deleteComponent() {
  const response = await components.deleteComponent(componentId, appId, options);
}

```

### deleteComponent (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { components } from '@wix/app-components';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { components },
  // Include the auth strategy and host as relevant
});


async function deleteComponent(_id,appId,options) {
  const response = await myWixClient.components.deleteComponent(_id,appId,options);
};
```

---