completed is the successful terminal state. The agent finished the task and the result artifacts are available. Once in completed, the task cannot change state. Artifacts (text, files, structured data) are returned in the task object.
Description
completed is the successful end of a task's lifecycle. The agent has finished execution and produced output artifacts. The task object includes the artifacts array containing the results: TextPart for text output, FilePart for file results, DataPart for structured JSON.
After entering completed, the task state is immutable. Clients polling via tasks/get will continue to receive the completed state and artifacts until the server's task retention window expires. The A2A spec does not mandate a specific retention period – implementations vary.
Completed is a terminal state: tasks/cancel on a completed task returns an error.
Terminal state
Once a task reaches completed, its state is immutable. tasks/cancel will return an error on a task in this state.