Skip to main content
PATCH
Update a task
Write access: a member/administrator with a write-enabled credential, or an authorized signed-in user. Edit task fields, including separate Markdown description and acceptance criteria, type task or bug, or its fixed status using the current version. A stale version returns a conflict. Fields save atomically. Pass null to clear assigneeId, startDate or dueDate. Actual status changes reset statusChangedAt; unrelated edits preserve it. A stale version returns 409 without applying the edit. MCP clients can use update_task for this operation. Request conventions · API keys · MCP connections

Authorizations

Authorization
string
header
required

Personal or team Mill REST API key

Headers

Origin
string<uri>

The exact configured Mill UI origin. Required for browser mutations carrying session cookies.

Idempotency-Key
string

Reuse the same key and exact request bytes for retries of one logical mutation; different content conflicts.

Required string length: 8 - 128
Pattern: ^[A-Za-z0-9._:-]+$

Path Parameters

taskId
string<uuid>
required

The taskId from the corresponding list, record or authorization response.

Body

application/json
version
integer
required
Required range: x <= 9007199254740991
type
enum<string>
Available options:
task,
bug
title
string
Required string length: 1 - 300
description
string
Maximum string length: 100000
acceptanceCriteria
string
Maximum string length: 100000
assigneeId
string<uuid> | null
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
priority
enum<string>
Available options:
none,
low,
medium,
high,
urgent
status
enum<string>
Available options:
backlog,
todo,
in_progress,
in_review,
done,
wont_do
startDate
string<date> | null
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
dueDate
string<date> | null
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$

Response

Successful response. Examples are illustrative; field values vary by record.

Illustrative response shape. Fields can be absent in alternate successful flows; see the operation description and example.

task
object