Document Action Status Service
Overview
Document action statuses are configurable status labels that can be applied to documents to indicate workflow states (e.g. Pending Review, Approved, On Hold, Escalated).
Unlike the main document status, action statuses are additive — multiple can be assigned over time via the Document Action Status Map, building a full status history log per document.
All operations are tenant-aware and scoped to the current tenant.
Endpoints
GET
/api/v1/DocumentActionStatuses/{id}
Returns a single action status by its numeric identifier.
Route parameters:
id(int, required) - action status identifier
Behavior:
- Returns
404if not found
Response:
DocumentActionStatusModel
Authorization:
- Requires Bearer Token
GET
/api/v1/DocumentActionStatuses
Returns all action statuses.
Behavior:
- Returns full list ordered by
SortOrder - Returns
404if no records exist
Response:
List<DocumentActionStatusModel>
Authorization:
- Requires Bearer Token
POST
/api/v1/DocumentActionStatuses
Creates a new action status.
Request body (DocumentActionStatusModel):
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—DocumentActionStatusModel
Authorization:
- Requires Bearer Token
PUT
/api/v1/DocumentActionStatuses/{id}
Updates an existing action status.
Route parameters:
id(int, required) - action status identifier
Behavior:
- Updates all editable fields
- Successful update writes an audit log entry
Response:
200 OK—DocumentActionStatusModel
Authorization:
- Requires Bearer Token
DELETE
/api/v1/DocumentActionStatuses/{id}
Deletes an action status by its identifier.
Route parameters:
id(int, required) - action status 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
- Action statuses are global reference data — not scoped per document
- All state-changing operations are audited
- Internal errors are logged but not exposed to clients