Catalog Product — Delete
Deletes a catalog product. Fires catalog.product.delete.before / catalog.product.delete.after.
Endpoint
| Endpoint | Method |
|---|---|
/api/admin/catalog/products/{id} | DELETE |
Path parameters
| Field | Type | Required | Notes |
|---|---|---|---|
id | integer | yes | Product ID. |
Response
204 No Content, with an empty body — there is nothing to read back. Capture anything you need from Product Detail before deleting.
What Deletion Does
- Configurable variants cascade. Deleting the parent removes its variants; there is no separate call.
- Orders are unaffected. Order items keep their snapshot of the product, so historic orders still render after the product is gone.
- No in-order guard. A product that appears in open orders deletes without complaint, matching the admin panel. If you need referential integrity, enforce it before calling.
Errors
| HTTP | Detail |
|---|---|
401 | Unauthenticated. |
403 | You do not have permission to manage products. — token lacks catalog.products.delete |
404 | Product not found. |

