The category module provides CRUD for the internal category taxonomy used to group ACL permissions (see the Categories entity). All endpoints require Bearer JWT plus a specific ACL permission. The DTO body is currently empty in code — FE should not send free-form fields because forbidNonWhitelisted: true will reject them.
Property
Value
Base URL
{HOST}/v1
Auth
Bearer JWT (header Authorization) or access_token cookie
Five standard REST endpoints to manage the Categories entity. The DTOs CreateCategoryDto and UpdateCategoryDto are currently empty — the service is still a stub. FE may assume a minimal shape until the backend fills in the fields. Each endpoint is guarded by a separate ACL permission (create-category, read-category, update-category, delete-category).
Method
Path
Auth
Summary
POST
/v1/categories
bearer
Create a new category (permission create-category)
GET
/v1/categories
bearer
List all categories (permission read-category)
GET
/v1/categories/:id
bearer
Detail of one category (permission read-category)
PATCH
/v1/categories/:id
bearer
Update a category (permission update-category)
DELETE
/v1/categories/:id
bearer
Soft delete a category (permission delete-category)
Create a new category. The DTO is currently empty so the server rejects any extra field (forbidNonWhitelisted). The endpoint is set up for admins managing the permission taxonomy.
Delete a category. The service is still a stub — the final implementation is expected to be a soft delete (the entity inherits from AuditableEntity, so deleted_at/deleted_by are present).