Skip to content

Delete Product

The Delete Product API enables you to remove products or specific product variants from your Fynd Commerce catalog. Deletions are processed asynchronously through the same batch processing system, allowing you to delete multiple products or variants in a single API request. Each deletion submission returns a trace_id for monitoring processing status.

Product deletions in Fynd Commerce support flexible removal options - you can delete entire products, specific product variants, or multiple products in bulk. The deletion scope is determined by the fields you include in the request payload.

Irreversible Action
  1. Product and variant deletions are permanent and cannot be undone. Ensure you have verified the products/variants to be deleted before submitting the request. Consider exporting product data before performing bulk deletions
  2. Deleting products that have active or recent orders may impact order fulfillment and reporting. Ensure all orders are fulfilled or canceled before deleting products

Request Type: DELETE
Scheme: HTTPS
Endpoint: https://{{host}}/v3/catalog/product

Try out Fynd Konnect's Delete Product Endpoint


Common Request Headers

HeaderMandatoryDescription
x-access-tokenYesAccess token used for authenticating API requests to Fynd Konnect
Content-TypeYesapplication/json
Deletion Scenarios
  • Delete entire products that are discontinued or no longer sold
  • Remove specific product variants that are out of stock permanently
  • Bulk delete multiple products during catalog cleanup operations
  • Remove products before catalog migration or restructuring
  • Delete test products created during integration development

Request Body Schema

productsArray of objects(ProductDeleteInput)non-emptyrequired

Array of products to delete

products[].​namestringrequired

Product name

products[].​slugstringrequired

Product slug

products[].​brandstringrequired

Brand name

products[].​brand_uidstringrequired

Brand UID

products[].​item_codestringrequired

Item code

products[].​sizesArray of objects

Include to delete specific sizes only; omit to delete the whole product

templatestringrequired

Template slug for the product being deleted

Deletion Scope

To delete an entire product:

  • Include only: slug, brand, item_code, and template
  • Do NOT include the sizes array

To delete specific product variants:

  • Include: slug, brand, item_code, template, and the sizes array
  • In the sizes array, specify only the primary_identifier of variants to delete

Success Response

trace_idstring

Unique identifier for tracking the batch processing status. Use this with the Check Product Status endpoint

totalinteger

Total number of deletion requests submitted

successinteger

Number of deletion requests accepted for processing (passed initial validation)

failedinteger

Number of deletion requests rejected due to validation errors

statusstring

High-level status: SUCCESS (all accepted), PARTIAL (some failed), FAILED (all rejected)

errorsobject

Object containing validation error details for failed deletions (indexed by product position)

stagestring

Processing stage: RUNNING (being processed), COMPLETED (finished), FAILED (stopped with errors)

batch_idstring

Internal batch identifier for the processing job

company_idinteger

Your company identifier in Fynd Commerce

last_updated_onstring(date-time)

UTC timestamp of the last status update

API Call Example

curl -i -X DELETE \
  https://fyndkonnect.konnect.uat.fyndx1.de/v3/catalog/product \
  -H 'Content-Type: application/json' \
  -H 'x-access-token: YOUR_API_KEY_HERE' \
  -d '{
    "products": [
      {
        "name": "string",
        "slug": "string",
        "brand": "string",
        "brand_uid": "string",
        "item_code": "string",
        "sizes": [
          {
            "primary_identifier": "string",
            "size": "string",
            "identifiers": [
              {
                "gtin_value": "string",
                "gtin_type": "SKU",
                "primary": true
              }
            ]
          }
        ]
      }
    ],
    "template": "string"
  }'

Example Response

{
    "trace_id": "a736437f4c389a5f-1760266316425",
    "total": 1,
    "success": 1,
    "failed": 0,
    "status": "SUCCESS",
    "errors": {},
    "stage": "RUNNING",
    "batch_id": "68eb884c9955e2f2705c9819",
    "company_id": 6900,
    "last_updated_on": "2025-10-12T10:51:56.752438370Z"
}

Product Deletion Scenarios

Delete a complete product with all its product variants:

Request Body:

  {
    "products": [
      {
        "slug": "air-coolers-12337390",
        "brand": "Generic",
        "item_code": "AIRCOOL"
      }
    ],
    "template": "air-care"
  }

Response:

  {
    "trace_id": "a736437f4c389a5f-1760266316425",
    "total": 1,
    "success": 1,
    "failed": 0,
    "status": "SUCCESS",
    "errors": {},
    "stage": "RUNNING",
    "batch_id": "68eb884c9955e2f2705c9819",
    "company_id": 6900,
    "last_updated_on": "2025-10-12T10:51:56.752438370Z"
  }

Common Deletion Errors

Err: Product Not Found - **Cause:** The combination of `slug`, `brand`, and `item_code` doesn't match any existing product. - **Solution:** Verify the product identifiers using the [Fetch Products](./get-products) endpoint before deletion.
Err: Invalid Size Identifier - **Cause:** The `primary_identifier` in the sizes array doesn't exist for the specified product - **Solution:** Fetch the product details to confirm available product variants and their identifiers
Err: Last Size Deletion - **Cause:** Attempting to delete the last remaining product variant of a product. - **Solution:** If deleting the last size, omit the `sizes` array to delete the entire product instead.

Best Practices

  1. Verify before deleting: Use Fetch Products to confirm product details before deletion
  2. Export data first: Export product data before bulk deletions for backup purposes
  3. Test with single products: Start with single product deletions before scaling to bulk operations
  4. Track with trace_id: Always save the trace_id and monitor deletion status
  5. Handle validation errors: Check the errors object for details on failed deletions
  6. Consider deactivation: For temporary removal, consider marking products inactive instead of deleting
  7. Delete in batches: For large-scale deletions, break into manageable batches of 50-100 products
  8. Coordinate with inventory: Ensure inventory is cleared or transferred before deleting products
  9. Check dependencies: Verify no active orders exist for products being deleted
  10. Document deletions: Maintain logs of deleted products for audit and compliance purposes
Next Steps