---
title: "Delete a catalog product"
method: DELETE
path: "/catalog/products/{id}"
tags: ["Admin Catalog: Products"]
---

# Delete a catalog product

`DELETE /catalog/products/{id}`

## Request

- Base URL: `http://localhost:8000/api/admin`
- URL: `http://localhost:8000/api/admin/catalog/products/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bagisto/apis/bagisto-admin-api/docs/catalog/products/:id/delete.ts> (a function with typed inputs; its response is checked against the schema)

Deletes a catalog product. For configurable products, all variants cascade. No "refuse if in non-completed order" guard (mirrors Bagisto admin behaviour). Fires catalog.product.delete.before / catalog.product.delete.after. Returns 204 on success.

## Path parameters

- `id` integer, required

## Response `204`

Product deleted.

## Other responses

- `401`: Missing or invalid admin token.
- `403`: Admin role lacks catalog.products.delete.
- `404`: Product not found.

---

[API](https://skmtc.dev/bagisto/apis/bagisto-admin-api.md) - [All operations](https://skmtc.dev/bagisto/apis/bagisto-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bagisto/apis/bagisto-admin-api/revisions/3198f11be70f?raw)
