Updates the state, assignees, timing, and notes of one or more tasks.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
id and state are required for every entry in tasks. The other fields follow PATCH semantics: omit to leave unchanged, send null to clear, send a value to set. Send notes: "" to clear notes.
A person, started_by, or ended_by ID that is not found or belongs to a user outside the production run's outlet scope returns 404.
Reopening a task — moving it from DONE back to IN_PROGRESS or TODO — clears the audit fields and recorded working time that no longer apply to the new state.
The response is the full list of tasks in the production run after the update, in display order — the same shape as List Production Run Tasks.
400Payload is invalid, one or more task IDs do not belong to this production run or appear more than once in the request, the production run has already been finished, the audit fields do not match the target state (TODO must have none set; IN_PROGRESS requires started_at + started_by; DONE requires started_at + started_by + ended_at + ended_by), a timestamp is in the future, or ended_at is earlier than started_at.
403The user does not have permission to modify this production run.
404Production run not found, or one of the referenced people does not exist or is outside the production run's outlet scope.
409The production run is currently being modified by another request. Try again shortly.
