---
title: "Create Company File Category"
method: POST
path: "/api/v1/files/categories"
tags: ["Company Files", "Public API"]
---

# Create Company File Category

`POST /api/v1/files/categories`

Creates one or more company file categories. Accepts a JSON array of category name strings or an equivalent XML document. An empty payload returns 200 without creating anything. Returns 400 if a name is empty or already exists, 403 if the caller lacks permission or the name is reserved, and 500 on an internal error.

OAuth Scopes: company_file.write

## Request body

- string[]

## Response `200`

The request was processed but no categories were created (empty payload).

## Other responses

- `201` — All specified categories were created successfully.
- `400` — The request body contains malformed JSON or XML, an empty category name, or a category name that already exists.
- `403` — The API user does not have permission to create company file categories, or the category name is reserved.
- `500` — An internal server error occurred.

---

[API](https://skmtc.dev/bamboohr/apis/bamboohr-api.md) · [All operations](https://skmtc.dev/bamboohr/apis/bamboohr-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bamboohr/bamboohr-api/revisions/19ebf391a399/schema)
