Requires write_products
access scope. Also: The user must have a permission to delete product variants.
Deletes multiple variants in a single product. This mutation can be called directly or via the bulkOperation.
The ID of the product with the variants to update.
An array of product variants IDs to delete.
The updated product object.
The list of errors that occurred from executing the mutation.
mutation bulkDeleteProductVariants($productId: ID!, $variantsIds: [ID!]!) { productVariantsBulkDelete(productId: $productId, variantsIds: $variantsIds) { product { id title } userErrors { field message } } }
curl -X POST \ https://your-development-store.myshopify.com/admin/api/2025-07/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation bulkDeleteProductVariants($productId: ID!, $variantsIds: [ID!]!) { productVariantsBulkDelete(productId: $productId, variantsIds: $variantsIds) { product { id title } userErrors { field message } } }", "variables": { "productId": "gid://shopify/Product/20995642", "variantsIds": [ "gid://shopify/ProductVariant/30322695", "gid://shopify/ProductVariant/113711323" ] } }'
const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation bulkDeleteProductVariants($productId: ID!, $variantsIds: [ID!]!) { productVariantsBulkDelete(productId: $productId, variantsIds: $variantsIds) { product { id title } userErrors { field message } } }`, { variables: { "productId": "gid://shopify/Product/20995642", "variantsIds": [ "gid://shopify/ProductVariant/30322695", "gid://shopify/ProductVariant/113711323" ] }, }, ); const data = await response.json();
const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation bulkDeleteProductVariants($productId: ID!, $variantsIds: [ID!]!) { productVariantsBulkDelete(productId: $productId, variantsIds: $variantsIds) { product { id title } userErrors { field message } } }`, "variables": { "productId": "gid://shopify/Product/20995642", "variantsIds": [ "gid://shopify/ProductVariant/30322695", "gid://shopify/ProductVariant/113711323" ] }, }, });
session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation bulkDeleteProductVariants($productId: ID!, $variantsIds: [ID!]!) { productVariantsBulkDelete(productId: $productId, variantsIds: $variantsIds) { product { id title } userErrors { field message } } } QUERY variables = { "productId": "gid://shopify/Product/20995642", "variantsIds": [ "gid://shopify/ProductVariant/30322695", "gid://shopify/ProductVariant/113711323" ] } response = client.query(query: query, variables: variables)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4