Document Category Service
Overview
Document categories provide a grouping or classification layer for documents. They allow teams to segment documents for reporting, filtering, and operational workflows.
All operations are tenant-aware and scoped to the current tenant.
Endpoints
GET
/api/v1/DocumentCategories/{id}
Returns a single document category by its numeric identifier.
Route parameters:
id(int, required) - category identifier
Behavior:
- Returns
404if not found
Response:
DocumentCategoryModel
Authorization:
- Requires Bearer Token
GET
/api/v1/DocumentCategories
Returns all document categories.
Behavior:
- Returns full list ordered by
SortOrder - Returns
404if no categories exist
Response:
List<DocumentCategoryModel>
Authorization:
- Requires Bearer Token
POST
/api/v1/DocumentCategories
Creates a new document category.
Request body (DocumentCategoryModel):
Name(string, required)Description(string?, optional)SortOrder(int, optional)IsActive(bool, optional)
Behavior:
- Validates that
Nameis provided - Successful creation writes an audit log entry
Response:
201 Created—DocumentCategoryModel
Authorization:
- Requires Bearer Token
PUT
/api/v1/DocumentCategories/{id}
Updates an existing document category.
Route parameters:
id(int, required) - category identifier
Behavior:
- Updates all editable fields
- Successful update writes an audit log entry
Response:
200 OK—DocumentCategoryModel
Authorization:
- Requires Bearer Token
DELETE
/api/v1/DocumentCategories/{id}
Deletes a document category by its identifier.
Route parameters:
id(int, required) - category identifier
Behavior:
- Performs a hard delete
- Successful deletion writes an audit log entry
Response:
204 No Content
Authorization:
- Requires Bearer Token
Notes
- Validation is enforced in the service layer
- All state-changing operations are audited
- Internal errors are logged but not exposed to clients