# Create a category

Creates a new category. The category is created in draft status.

Endpoint: POST /v1/categories
Version: 1.1.0
Security: Bearer

## Request fields (application/json):

  - `parentUuid` (string,null)
    Optional parent category UUID for hierarchical organization.

  - `code` (string, required)
    Code for the category.

  - `displayName` (string)
    The display name of the category.

## Response 201 fields (application/json):

  - `uuid` (string, required)
    Unique identifier for this category.

  - `parentUuid` (string,null)
    Identifier of the parent category for hierarchical organization. Null if this is a root category.

  - `createdAt` (string, required)
    Timestamp when this category was created.
    Example: "2025-11-23T14:15:22.123456Z"

  - `updatedAt` (string, required)
    Timestamp when this category was last modified.
    Example: "2025-11-23T14:15:22.123456Z"

  - `removedAt` (string,null)
    Timestamp when this category was removed. Null if not removed.
    Example: "2025-11-23T14:15:22.123456Z"

  - `status` (string, required)
    Lifecycle status of a category.
    Enum: "draft", "published", "unpublished", "removed"

  - `code` (string, required)
    Code for this category.

  - `displayName` (string, required)
    The display name of the category.

## Response 401 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

## Response 403 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)

## Response 409 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)

## Response 422 fields (application/problem+json):

  - `errors` (array)

  - `errors.code` (string, required)

  - `errors.message` (string, required)

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)

## Response 500 fields (application/problem+json):

  - `type` (string,null)

  - `title` (string,null)

  - `status` (integer,null)

  - `detail` (string,null)

  - `instance` (string,null)

  - `correlationId` (string,null)


