Document Time Task Type Service
Overview
Document time task types define categories of work that can be time-tracked against a document (e.g. Design, Development, Consultation, Support).
They are used by Document Time Entries to classify the nature of logged time.
All operations are tenant-aware and scoped to the current tenant.
Endpoints
GET
/api/v1/DocumentTimeTaskTypes/{id}
Returns a single time task type by its numeric identifier.
Route parameters:
id(int, required) - task type identifier
Behavior:
- Returns
404if not found
Response:
DocumentTimeTaskTypeModel
Authorization:
- Requires Bearer Token
GET
/api/v1/DocumentTimeTaskTypes
Returns all time task types.
Behavior:
- Returns full list ordered by
SortOrder - Returns
404if no records exist
Response:
List<DocumentTimeTaskTypeModel>
Authorization:
- Requires Bearer Token
POST
/api/v1/DocumentTimeTaskTypes
Creates a new time task type.
Request body (DocumentTimeTaskTypeModel):
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—DocumentTimeTaskTypeModel
Authorization:
- Requires Bearer Token
PUT
/api/v1/DocumentTimeTaskTypes/{id}
Updates an existing time task type.
Route parameters:
id(int, required) - task type identifier
Behavior:
- Updates all editable fields
- Successful update writes an audit log entry
Response:
200 OK—DocumentTimeTaskTypeModel
Authorization:
- Requires Bearer Token
DELETE
/api/v1/DocumentTimeTaskTypes/{id}
Deletes a time task type by its identifier.
Route parameters:
id(int, required) - task type identifier
Behavior:
- Performs a hard delete
- Successful deletion writes an audit log entry
Response:
204 No Content
Authorization:
- Requires Bearer Token
Notes
- Task types are global reference data — not scoped per document
- Validation is enforced in the service layer
- All state-changing operations are audited
- Internal errors are logged but not exposed to clients