---
title: "Create a category"
method: POST
path: "/api/external/v2/categories"
tags: ["Categories"]
---

# Create a category

`POST /api/external/v2/categories`

Create a category

> ℹ️
> This endpoint requires the following scope: `categories:all`

## Request body

- object
  - `label` string, required
  - `direction` union — Only applicable for _treasury_ categories. If not provided, defaults to "cash_out".
    - 'cash_in' | 'cash_out' — Only applicable for _treasury_ categories
    - unknown
  - `category_group_id` integer, required
  - `analytical_code` string, nullable

## Response `201`

Returns the created category

- object
  - `id` integer, required
  - `label` string, required
  - `direction` union, required
    - 'cash_in' | 'cash_out' — Only applicable for _treasury_ categories
    - unknown
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `category_group` object, required
    - `id` integer, required
  - `analytical_code` string, nullable, required

## Other responses

- `400` — Bad request
- `401` — Access token is missing or invalid
- `403` — Access to this resource forbidden
- `404` — The resource was not found
- `422` — Unprocessable content

---

[API](https://skmtc.net/pennylane/apis/company-v2.md) · [All operations](https://skmtc.net/pennylane/apis/company-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pennylane/company-v2/versions/a5b7236473c6/schema)
