> 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 # RemoveProductsFromCollection # Package: catalogV1 # Namespace: CatalogWriteApi # Method link: https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/remove-products-from-collection.md ## Permission Scopes: Manage Products: SCOPE.DC-STORES.MANAGE-PRODUCTS ## Introduction Deletes products from a specified collection. --- ## REST API ### Schema ``` Method: removeProductsFromCollection Description: Deletes products from a specified collection. URL: https://www.wixapis.com/stores/v1/collections/{id}/productIds/delete Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: productIds Method parameters: param name: productIds | type: array | description: IDs of the products to remove from the collection. | required: true Return type: RemoveProductsFromCollectionResponse EMPTY-OBJECT {} ``` ### Examples ### RemoveProductsFromCollection ```curl ~~~cURL curl -X POST \ 'https://www.wixapis.com/stores/v1/collections/1044e7e4-37d1-0705-c5b3-623baae212fd/productIds/delete' \ --data-binary '{ "productIds": [ "a60fef92-ee29-070f-a7ed-9bbc3cc1c2f4", "d9cd1d2f-8318-486b-a6f3-aa0c4e81ccd2" ] }' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.catalogV1.CatalogWriteApi.removeProductsFromCollection(_id, productIds) Description: Deletes products from a specified collection. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: _id, productIds Method parameters: param name: _id | type: string | description: Collection GUID. | required: true param name: productIds | type: array | description: IDs of the products to remove from the collection. | required: true Return type: PROMISE EMPTY-OBJECT {} ``` ### Examples ### Remove products from a product collection ```javascript /************************************** * Backend code - products.web.js/ts * **************************************/ import { Permissions, webMethod } from '@wix/web-methods'; import { products } from '@wix/stores'; export const removeProductsFromCollection = webMethod(Permissions.Anyone, (_id, productIds) => { return products.removeProductsFromCollection(_id, productIds); }); /************* * Page code * *************/ import { removeProductsFromCollection } from 'backend/products.web'; // ... const _id = ... // get collection ID const productIds = ["id1", "id2", "id3"]; removeProductsFromCollection(_id, productIds) .then(() => { // products removed from the collection }) .catch((error) => { // products not removed from the collection }); ``` ### removeProductsFromCollection (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 { products } from '@wix/stores'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { products }, // Include the auth strategy and host as relevant }); async function removeProductsFromCollection(_id,productIds) { const response = await myWixClient.products.removeProductsFromCollection(_id,productIds); }; ``` ---