---
title: "List categories"
method: GET
path: "/categories/{companyId}"
tags: ["Categories"]
---

# List categories

`GET /categories/{companyId}`

Returns every category configured for the company, both top-level and child categories. The list is not paginated. Categories are created and managed in the Embat application; this API only reads them.

## Path parameters

- `companyId` string, required

## Response `200`

Successful Response

- ListCategoriesResponseSchema
  - `data` GetCategoriesResponseSchema[], required — Categories matching the query.
    - `id` string, required — Embat category ID. Referenced as `categoryId` on transactions, forecasts and operations.
    - `companyId` string, required — Embat company ID. You can get them from "companies" endpoints
    - `updatedAt` string, date-time, required — Last updated date of the entity in the database
    - `createdAt` string, date-time, required — Created date of the entity in the database
    - `name` string, required — Category name.
    - `parentId` string, nullable — Embat ID of the parent category. `null` for a top-level category.

## Other responses

- `401` — Unauthorized. The bearer token is missing, invalid or expired.
- `404` — Not found. The requested resource or `companyId` does not exist.
- `422` — Validation Error

---

[API](https://skmtc.net/embat/apis/embat-api.md) · [All operations](https://skmtc.net/embat/apis/embat-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/embat/embat-api/revisions/36ca48bf4489/schema)
