--- title: Document Categories --- ## Get a Category with all Information **Required scope:** `public-api:read` You need to activate the [Categories](/reference/project-config/categories/llms.txt) / [Routing](/reference/project-config/content-types/llms.txt#routing) feature in the Project Config in order to query categories. **Curl Example** ```bash ACCESS_TOKEN=ey1234 curl -k -X GET "https://server.livingdocs.io/api/2026-05/categories/{categoryId}" \ -H "Authorization: Bearer $ACCESS_TOKEN" ``` **Endpoint** ```http GET /api/2026-05/categories/{categoryId} ``` **Parameters** | Name | Type | Required | Notes | | ---- | ---- | :------: | ----- | | categoryId | string | x | Id of a specific categories as fetched from the /categories endpoint | | ?inheritMetadata | boolean | | If set to `true` will inherit (but not overwrite) metadata properties from all parents Inheritance depth is limited to 20 | **Response** _200 OK_ — `/api/2026-05/categories/123abc` ```json { "id": "123abc", "label": "Sport", "path": "/sport", "metadata": { "adId": "sport-ads", "analyticsCode": "sport-analytics" } } ``` _400 Bad Request_ — `/api/2026-05/categories/123abc` ```json { "status": 400, "error": "Bad Request", "error_details": { "message": "Use of the category API requires a configurable channel. The project you requested uses a static configuration though." } } ``` _500 Bad Request_ — `/api/2026-05/categories/123abc` ```json { "status": 500, "error": "Bad Request", "error_details": { "message": "Inheritance queries can only be made up to a depth of 20." } } ``` ## Get Categories for a Project **Required scope:** `public-api:read` You need to activate the Categories / Routing Feature in the Project Config in order to query categories. **History** | Version | Change | | ------- | ------ | | release-2026-01 | Responds with an object containing a `results` array. | **Curl Example** ```bash ACCESS_TOKEN=ey1234 curl -k -X GET "https://server.livingdocs.io/api/2026-05/categories" \ -H "Authorization: Bearer $ACCESS_TOKEN" ``` **Endpoint** ```http GET /api/2026-05/categories ``` **Response** _200 OK_ — `/api/2026-05/categories` ```json { "results": [ { "id": "category-id-1", "label": "Category 1", "path": "/category1" }, { "id": "category-id-2", "label": "Category 2", "path": "/category2", "parent": "category-id-1" }, { "id": "category-id-3", "label": "Category 3", "path": "/category3" } ] } ``` _400 Bad Request_ — `/api/2026-05/categories` ```json { "status": 400, "error": "Bad Request", "error_details": { "message": "Use of the category API requires a configurable channel. The project you requested uses a static configuration though." } } ``` ## Get Categories for a Project > [!NOTE] > This endpoint has changes in version 2026-01. > **Required scope:** `public-api:read` You need to activate the Categories / Routing Feature in the Project Config in order to query categories. **Curl Example** ```bash ACCESS_TOKEN=ey1234 curl -k -X GET "https://server.livingdocs.io/api/2025-11/categories" \ -H "Authorization: Bearer $ACCESS_TOKEN" ``` **Endpoint** ```http GET /api/2025-11/categories ``` **Response** _200 OK_ — `/api/2025-11/categories` ```json [ { "id": "category-id-1", "label": "Category 1", "path": "/category1" }, { "id": "category-id-2", "label": "Category 2", "path": "/category2", "parent": "category-id-1" }, { "id": "category-id-3", "label": "Category 3", "path": "/category3" } ] ``` _400 Bad Request_ — `/api/2025-11/categories` ```json { "status": 400, "error": "Bad Request", "error_details": { "message": "Use of the category API requires a configurable channel. The project you requested uses a static configuration though." } } ```