---
title: "Delete Categories"
method: POST
path: "/categories/delete"
tags: ["Products"]
---

# Delete Categories

`POST /categories/delete`

Delete categories by id. Each one's child categories and products move up to its parent, then it is removed. Returns per-item results { deleted, rejected } — the batch never fails as a whole. Rejection reasons: not_found, name_conflict (a child moving up would clash with an existing sibling name).

## Request body

- object
  - `project_id` string — Required if using a company api key
  - `category_ids` string[], required

## Response `200`

Per-item delete results

- object — Per-item delete results
  - `deleted` object[], required
    - `category_id` string, uuid, required
  - `rejected` object[], required
    - `category_id` string, uuid, required
    - `reason` 'not_found' | 'name_conflict', required
    - `message` string, required

---

[API](https://skmtc.net/peec/apis/peec-ai-customer-api.md) · [All operations](https://skmtc.net/peec/apis/peec-ai-customer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/peec/peec-ai-customer-api/versions/92840a1bffa7/schema)
