> 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 # BulkRemoveDataItems # Package: cms # Namespace: DataItemService # Method link: https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/bulk-remove-data-items.md ## Permission Scopes: Write Data Items: SCOPE.DC-DATA.WRITE ## Introduction Removes multiple items from a collection. If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared. > **Note:** Once an item has been removed from a collection, it can't be restored. --- ## REST API ### Schema ``` Method: bulkRemoveDataItems Description: Removes multiple items from a collection. If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared. > **Note:** Once an item has been removed from a collection, it can't be restored. URL: https://www.wixapis.com/wix-data/v2/bulk/items/remove Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: dataCollectionId, dataItemIds Method parameters: param name: appOptions | type: appOptions | description: Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying. When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields.md), pass the following optional parameters: - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`. - `includeVariants`: Whether to include product variants in the query. Default: `false`. param name: condition | type: Condition - name: filter | type: object | description: Filter, changes to item(s) will only apply if they satisfy this filter. Learn more about filters in [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language.md#filters). param name: dataCollectionId | type: dataCollectionId | description: GUID of the collection from which to remove the item. | required: true param name: dataItemIds | type: array | description: IDs of data items to remove. | required: true param name: publishPluginOptions | type: PublishPluginOptions - name: includeDraftItems | type: boolean | description: Whether to include draft items. When `true`, both published and draft items are affected. Default: `false`. Return type: BulkRemoveDataItemsResponse - name: results | type: array | description: Information about the removed data items. - name: action | type: BulkActionType | description: Action attempted for the data item. - enum: UNKNOWN_ACTION_TYPE, INSERT, UPDATE, DELETE, PATCH - name: itemMetadata | type: ItemMetadata | description: Item metadata. - name: id | type: string | description: Item GUID. Does not appear if the item GUID is missing. For example, when item creation fails. - name: originalIndex | type: integer | description: Original index of the item in the array specified in the request. Use this to match items in the request with those in the response. - name: success | type: boolean | description: Whether the requested action was successful. When `false`, the `error` field is populated. - name: error | type: ApplicationError | description: In case of failure, the error details. - name: code | type: string | description: Error code. - name: description | type: string | description: Description of the error. - name: data | type: object | description: Data related to the error. - name: dataItem | type: DataItem | description: Updated data item. Returned if `returnEntity` is set to `true` and the action is successful. - name: id | type: string | description: Data item GUID. - name: dataCollectionId | type: string | description: GUID of the collection this item belongs to - name: data | type: object | description: Data item contents. Property-value pairs representing the data item's payload. When retrieving a data item, it also includes the following read-only fields: + `_id`: Item GUID. + `_createdDate`: Date and time the item was added to the collection. + `_updatedDate`: Date and time the item was last modified. When the item is first inserted, `_createdDate` and `_updatedDate` have the same value. + `_ownerId`: GUID of the user who created the item. Can be modified with site owner permissions. - name: bulkActionMetadata | type: BulkActionMetadata | description: Bulk action metadata. - name: totalSuccesses | type: integer | description: Number of items successfully processed. - name: totalFailures | type: integer | description: Number of items that couldn't be processed. ``` ### Examples ### Bulk remove existing items ```curl curl -X POST \ 'https://www.wixapis.com/wix-data/v2/bulk/items/remove' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "cities", "dataItemIds": [ "6d717171-6f4d-4794-b6ea-7aea0071a76b", "6c38b4f7-7b8d-4702-9283-66a5889f8e17" ] }' ``` ### Remove multiple items conditionally: Only delete inactive items. ```curl curl -X POST \ 'https://www.wixapis.com/wix-data/v2/bulk/items/remove' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' \ -d '{ "dataCollectionId": "users", "dataItemIds": [ "6d717171-6f4d-4794-b6ea-7aea0071a76b", "6c38b4f7-7b8d-4702-9283-66a5889f8e17" ], "condition": { "filter": { "active": false } } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.cms.DataItemService.bulkRemoveDataItems(dataCollectionId, itemIds, options) Description: Removes multiple items from a collection. If any items in other collections reference the removed items in reference or multi-reference fields, those fields are cleared. > **Note:** Once an item has been removed from a collection, it can't be restored. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: dataCollectionId, itemIds Method parameters: param name: dataCollectionId | type: string | description: GUID of the collection from which to remove the item. | required: true param name: itemIds | type: array | description: IDs of data items to remove. | required: true param name: options | type: WixDataBulkRemoveOptions none - name: suppressHooks | type: boolean | description: Whether to suppress data hooks. When `true`, data hooks typically triggered by this endpoint don't run. **Note:** This option can only be used in code that runs in [the Wix site backend](https://dev.wix.com/docs/develop-websites/articles/coding-with-velo/backend-code/about-the-site-backend.md). Default: `false` - name: appOptions | type: object | description: Additional parameters specific to the [Wix app collection](https://support.wix.com/en/article/cms-formerly-content-manager-working-with-wix-app-collections) you are querying. When querying the Wix Stores [Products collection](https://dev.wix.com/docs/develop-websites/articles/wix-apps/wix-e-commerce-stores/wix-stores-products-collection-fields.md), pass the following optional parameters: - `includeHiddenProducts`: Whether to include hidden products in the response. Default: `false`. - `includeVariants`: Whether to include product variants in the query. Default: `false`. - name: condition | type: Condition | description: Condition for removing the items. When a condition is provided, the items are only removed if the condition is met. - name: filter | type: object | description: Filter, changes to item(s) will only apply if they satisfy this filter. Learn more about filters in [API Query Language](https://dev.wix.com/docs/rest/articles/get-started/api-query-language.md#filters). - name: showDrafts | type: boolean | description: When `true`, operations include draft items. Read operations include draft items in their response, and write operations modify draft items. Return type: PROMISE - name: inserted | type: integer | description: Number of inserted items. - name: updated | type: integer | description: Number of updated items. - name: removed | type: integer | description: Number of removed items. - name: skipped | type: integer | description: Number of skipped items. - name: errors | type: array | description: List of errors. - name: message | type: string | description: Description of the error. - name: code | type: string | description: Error code. - name: originalIndex | type: integer | description: Index of the item within the request array. Allows for correlation between request and response items. - name: item | type: string | description: Failed item (or GUID in case of `bulkRemove()`). - name: insertedItemIds | type: array | description: List of GUIDs of inserted items. - name: updatedItemIds | type: array | description: List of GUIDs of updated items. - name: removedItemIds | type: array | description: List of GUIDs of removed items. ``` ### Examples ### bulkRemove ```javascript import { items } from '@wix/data'; async function bulkRemove(dataCollectionId,itemIds,options) { const response = await items.bulkRemove(dataCollectionId,itemIds,options); }; ``` ### bulkRemove (with elevated permissions) ```javascript import { items } from '@wix/data'; import { auth } from '@wix/essentials'; async function myBulkRemoveMethod(dataCollectionId,itemIds,options) { const elevatedBulkRemove = auth.elevate(items.bulkRemove); const response = await elevatedBulkRemove(dataCollectionId,itemIds,options); } ``` ### bulkRemove (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 { items } from '@wix/data'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { items }, // Include the auth strategy and host as relevant }); async function bulkRemove(dataCollectionId,itemIds,options) { const response = await myWixClient.items.bulkRemove(dataCollectionId,itemIds,options); }; ``` ---