Sales Order Action Status Service
Overview
Sales order action statuses are configurable status labels that can be applied to sales orders to indicate workflow states (e.g. Pending Review, Approved, On Hold, Escalated).
Unlike the main order status, action statuses are additive — multiple can be assigned over time via the Sales Order Action Status Map, building a full status history log per order.
All operations are tenant-aware and scoped to the current tenant.
Endpoints
GET
/api/v1/SalesOrderActionStatuses/{id}
Returns a single action status by its numeric identifier.
Behavior:
- Looks up action status by
Id - Returns
404if not found
Authorization:
- Requires Bearer Token
GET ALL
/api/v1/SalesOrderActionStatuses
Returns all action statuses.
Behavior:
- Returns full list ordered by
SortOrder - Returns
404if no records exist
Authorization:
- Requires Bearer Token
POST
/api/v1/SalesOrderActionStatuses
Creates a new action status.
Request body:
SalesOrderActionStatusModel(required)
Behavior:
- Validates that
Nameis provided - Successful creation writes an audit log entry
Errors:
- Returns
400if validation fails
Authorization:
- Requires Bearer Token
PUT
/api/v1/SalesOrderActionStatuses/{id}
Updates an existing action status.
Request:
- Route parameter:
id(numeric) - Body:
SalesOrderActionStatusModel(with updated fields)
Behavior:
- Updates all editable fields
- Successful update writes an audit log entry
Errors:
- Returns
400if validation fails or record does not exist
Authorization:
- Requires Bearer Token
DELETE
/api/v1/SalesOrderActionStatuses/{id}
Deletes an action status by its identifier.
Behavior:
- Performs a hard delete
- Successful deletion writes an audit log entry
Errors:
- Returns
400if record does not exist or deletion fails
Authorization:
- Requires Bearer Token
Notes
- Validation is enforced in the service layer
- Action statuses are global reference data — not scoped per order
- All state-changing operations are audited
- Internal errors are logged but not exposed to clients