---
title: "Create Categories"
method: POST
path: "/categories/create"
tags: ["Products"]
---

# Create Categories

`POST /categories/create`

Create product categories. Each item takes a `name` and an optional `parent_id` (omit or null for a top-level category). Items apply in order. Returns per-item results { created, rejected } — the batch never fails as a whole. Rejection reasons: parent_not_found, name_conflict (a sibling already has that name).

## Request body

- object
  - `project_id` string — Required if using a company api key
  - `categories` object[], required
    - `name` string, required
    - `parent_id` string, uuid, nullable

## Response `200`

Per-item create results

- object — Per-item create results
  - `created` object[], required
    - `category_id` string, uuid, required
    - `name` string, required
  - `rejected` object[], required
    - `name` string, required
    - `reason` 'parent_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)
