# Create a category

Creates a new custom category (`custom: true`) for the business. The name must be unique within the business.

Endpoint: POST /v1/businesses/{client_id}/categories
Version: v1
Security: BearerAuth

## Path parameters:

  - `client_id` (integer, required)
    The ID of the business.

## Request fields (application/json):

  - `name` (string, required)
    The display name for the new custom category. Must be unique within the business.
    Example: Internal Events

  - `accounting_code_id` (string | null)
    The ID of a GL code to map to this category. Must belong to the same business. Omit to create without a mapping.
    Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6

## Response 201 fields (application/json):

  - `id` (string)
    The unique identifier for this category.
    Example: 7cb19e45-1234-5678-abcd-ef9876543210

  - `name` (string)
    The display name of the category.
    Example: Travel

  - `custom` (boolean)
    Whether this is a custom category created by the business. System-defined categories have `custom: false`.
    Example: false

  - `enabled` (boolean)
    Whether this category is available for use on transactions.
    Example: true

  - `accounting_code_id` (string | null)
    The ID of the GL code mapped to this category, or `null` if no mapping exists.
    Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6

  - `created` (string)
    When this category was created in UTC.
    Example: 2025-01-01T00:00:00Z

  - `updated` (string)
    When this category was last updated in UTC.
    Example: 2025-01-01T00:00:00Z

