Update a task
The words, the facts, or the column. null clears the priority or takes the card off whoever has it. A move to done closes the report the card came from, which messages everybody who asked for it, and closes the issues mirroring it.
PATCH
/tasks/{task}Authorization
AuthorizationBearer token · headerrequired`MEDIAN_KEY` from Settings under API, or an MCP OAuth access token. A key acts as the organization; a token acts as the person who approved it.
Path parameters
taskstringrequiredA task key like "MED-12", its number, its id, or a link to the card.
Request body
requiredapplication/jsontitlestringmax length 160
descriptionstringmax length 10000
prioritystring | nullAllowed:
urgenthighmediumlownullassigneestring | nullA teammate's identity key or their email address. Null takes the card off everybody.
statusstringAllowed:
requestsplannedin_progressin_reviewdoneplacestringWhere in the new column the card lands. The bottom of it by default, and only read alongside `status`.
Allowed:
topbottomResponses
200Done.
okboolean400The request is malformed, and the message names the field.
errorobjectShow propertiesHide properties
codestringmessagestring401The bearer token is missing, revoked, or expired.
errorobjectShow propertiesHide properties
codestringmessagestring404Not one of yours, or not there at all.
errorobjectShow propertiesHide properties
codestringmessagestring429Too many requests. Wait the seconds in `Retry-After`. Limits depend on the plan. See [rate limits](/api/errors-and-limits#rate-limits).
errorobjectShow propertiesHide properties
codestringmessagestringRequest
curl -X PATCH "https://api.median.sh/v1/tasks/string" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "in_review"
}'const response = await fetch("https://api.median.sh/v1/tasks/string", {
method: "PATCH",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"status": "in_review"
})
});Response
{
"ok": true
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}{
"error": {
"code": "string",
"message": "string"
}
}