Document Action Status Map Service
Overview
The Document Action Status Map records which action statuses have been applied to a document and when. Each entry is an immutable log — multiple entries per document are supported, giving a full chronological history of status changes.
Relates to:
- Document Action Status — status definitions
- Documents — parent document
All operations are tenant-aware and scoped to the current tenant.
Endpoints
GET
/api/v1/DocumentActionStatusMaps/{id}
Returns a single status map entry by its numeric identifier.
Route parameters:
id(int, required) - entry identifier
Behavior:
- Returns
404if not found
Response:
DocumentActionStatusMapModel
Authorization:
- Requires Bearer Token
GET
/api/v1/DocumentActionStatusMaps/order/{documentId}
Returns all status map entries for a given document.
Route parameters:
documentId(long, required) - document identifier
Behavior:
- Returns full history of action statuses applied to the document
- Ordered by
CreatedAtascending - Returns
404if no entries exist for the document
Response:
List<DocumentActionStatusMapModel>
Authorization:
- Requires Bearer Token
POST
/api/v1/DocumentActionStatusMaps
Applies an action status to a document.
Request body (DocumentActionStatusMapModel):
DocumentId(long, required — must be > 0)ActionStatusId(int, required — must be > 0)Notes(string?, optional)
Behavior:
- Appends a new entry — does not replace existing ones
- Records
CreatedByUserIdandCreatedAt - Successful creation writes an audit log entry
Response:
201 Created—DocumentActionStatusMapModel
Authorization:
- Requires Bearer Token
PUT
/api/v1/DocumentActionStatusMaps/{id}
Updates an existing status map entry (e.g. correcting notes).
Route parameters:
id(int, required) - entry identifier
Behavior:
- Updates editable fields (
Notes,ActionStatusId) - Successful update writes an audit log entry
Response:
200 OK—DocumentActionStatusMapModel
Authorization:
- Requires Bearer Token
DELETE
/api/v1/DocumentActionStatusMaps/{id}
Deletes a status map entry by its identifier.
Route parameters:
id(int, required) - entry identifier
Behavior:
- Performs a hard delete
- Successful deletion writes an audit log entry
Response:
204 No Content
Authorization:
- Requires Bearer Token
Notes
- Multiple entries per document are allowed — full history is preserved
CreatedAtis set server-side and not writable by the client- Validation is enforced in the service layer
- All state-changing operations are audited