Complete Service Record
POST/api/servicerecords/completeservicerecord
Tier: Public — stable, supported for third-party integration.
Completes a service record, stamping CompletedOn. If the record's
MoveItemsOnComplete flag is set, or its service type is a system Deliver/Pickup
type, this also moves the record's service items' items to the record's
ToPlaceId (via the shared item-mover, writing item-place-movement history and
setting item state to Moved) — the only item mutation the Services domain
performs. Completing an already-ServiceRecordStatus.Complete
record is an idempotent no-op. Also the trigger for the cross-domain task-action
auto-complete cascade — completing a record linked to a system-type TaskAction
auto-completes that action (and potentially its parent task).
Request
Responses
- 200
- 400
- 401
- 403
The completed (or already-complete) record. See Services.ServiceRecordDetailDto.
Unknown id — NotFound; the record is already
ServiceRecordStatus.Cancelled —
InvalidOperation "Status" "Record cannot be Completed"; or the item-move step
failed — OperationFailed.
Caller is not authenticated.
Caller does not have Update permission on the ServiceRecord module.