Hanzo
OpenapiTodo

Edits a work item — rename it, rewrite it, move it to another column, or…

Edits a work item — rename it, rewrite it, move it to another column, or re-prioritise it. Absent fields are left alone. MOVING A CARD IS A RELABEL.

PATCH /v1/todo/projects/{key}/issues/{num}

Addresshttps://api.hanzo.ai/v1/todo/projects/{key}/issues/{num}
MethodPATCH
Operationpatch_todo_projects_by_key_issues_by_num
AuthAuthorization: Bearer $HANZO_API_KEY

Edits a work item — rename it, rewrite it, move it to another column, or re-prioritise it. Absent fields are left alone.

MOVING A CARD IS A RELABEL. The column lives in the forge's label set, so the move replaces that set rather than writing a status column here that a forge-side change could contradict. Moving to done also CLOSES the issue on the forge, because a done card and an open issue are a contradiction.

Request

8 fields, body application/json (required).

FieldInTypeRequiredDescription
keypathstringyesKey is the board — the repository name, from the path.
numpathintegeryesNum is the issue number on that repository, from the path.
descriptionbodystringDescription rewrites the body.
keybodystringKey is the board — the repository name, from the path.
numbodyintegerNum is the issue number on that repository, from the path.
prioritybodystringPriority re-prioritises it.
statusbodystringStatus moves the card to another column.
titlebodystringTitle renames the work item.

Response

StatusBodyMeaning
200issueViewok

200 body — 18 fields.

FieldInTypeAlwaysDescription
assigneebodystringAssignee is who holds the work — an IAM username, or the login of the FIRST assignee when a forge issue has several.
createdAtbodyintegerCreatedAt is when the item was opened, in unix seconds.
descriptionbodystringDescription is the body, markdown as its author wrote it.
dueAtbodyintegerDueAt is when the work is due, in unix seconds; absent means no due date.
extRefbodystringExtRef anchors the item to something outside the todo — a mirrored issue ("github:owner/repo#123"), a pushed PR branch, or a record on another plane.
idbodystringID is the work item's opaque handle, and it is NOT how you address it — ProjectKey plus Number is.
identifierbodystringIdentifier is the human handle, "<key>#<number>" — the board and the number on it, joined.
kindbodystringKind is what the item IS: issue, pr or epic. Set once at create and never changed, so a row does not migrate between surfaces.
labelsbodystring[]Labels are the item's remaining tags, with the status and priority labels lifted OUT — a column that stayed here would render twice, once as the card's column…
numberbodyintegerNumber is the item's number ON ITS BOARD, from 1 and monotonic there — the forge's own issue number for a forge row, allocated inside the create transaction…
prioritybodystringPriority is urgent, high, medium, low or none. Also a label on a forge row.
projectKeybodystringProjectKey is the board this item is on: the repository name for a forge issue, the index board's key otherwise.
repobodystringRepo is the git repository the item is bound to, so a repository's Issues and PRs tabs are filters over this one table.
sourcebodystringSource is which surface OPENED it: team, git, crm, helpdesk, cms or agent. Also set once.
startAtbodyintegerStartAt is when the work starts, in unix seconds; absent means unscheduled.
statusbodystringStatus is the board column: backlog, todo, in_progress, done or canceled, and nothing else.
titlebodystringTitle is the item's one-line summary.
updatedAtbodyintegerUpdatedAt is when it last changed, in unix seconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo todo projects issues update <key> 1

Todo API · All Hanzo APIs · Interactive reference

How is this guide?

On this page