Update Card
kaiten_update_cardUpdate Kaiten cards by changing title, description, size, due date, owner, or custom properties, and move cards across boards, lanes, and columns.
Instructions
Update card fields. For moves use kaiten_list_columns, kaiten_list_lanes, kaiten_list_boards IDs. To change state — move the card via columnId (Kaiten state is computed from column.type, not settable directly). To change size — use sizeText (the numeric size field on a card is read-only). Set custom property values via the properties map (see kaiten_list_custom_properties for IDs and types). NOTE: response in min/normal verbosity may show board_title:null and column_title:null because PATCH /cards/{id} returns a flat payload. Re-fetch via kaiten_get_card to populate, or use verbosity=raw.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asap | No | Mark as urgent | |
| size | No | ||
| state | No | ||
| title | No | New title | |
| cardId | Yes | Card ID (from kaiten_search_cards or kaiten_get_card) | |
| laneId | No | Move to lane ID (from kaiten_list_lanes) | |
| typeId | No | Change card type ID (from kaiten_list_card_types) | |
| boardId | No | Move to board ID (from kaiten_list_boards) | |
| dueDate | No | Due date in ISO 8601 (YYYY-MM-DD or full datetime). When set, `dueDateTimePresent` is automatically switched on so the date appears in the Kaiten UI. | |
| ownerId | No | Reassign owner to user ID (must be a positive integer). Kaiten requires every card to have an owner — cannot be unset, only reassigned. | |
| columnId | No | Move to column ID (from kaiten_list_columns) | |
| sizeText | No | Card size as text. Examples: '1', '5 SP', 'L', '3 M', 'XL'. Sent as `size_text` to API. The numeric `size` field on a card is read-only and computed from this text. | |
| verbosity | No | Detail: raw|min(default)|normal|max | min |
| properties | No | Map of custom property values keyed 'id_{propertyId}'. Use kaiten_list_custom_properties to find property IDs and their `type` (which determines the value shape: string, number, date, select id, multi_select ids[], user id, catalog uid, tree uid, etc.). Pass null as a value to clear a property. Example: {"id_574845": "my-value", "id_574850": null} | |
| textFormat | No | Hint to Kaiten about the format of `description`. Default = 'markdown' (Kaiten's own default). Set to 'html' if you are sending HTML tags — Kaiten will then parse and normalize them so the UI renders correctly. Without this hint, raw HTML is stored verbatim and the UI shows literal angle brackets. Maps to API field `text_format_type_id` (1=markdown, 2=html, 3=jira_wiki). WARNING: 'jira_wiki' support in Kaiten is partial — italic `_text_` does not render and underscores inside `{code}` blocks get mangled to asterisks (verified live 2026-04-09). Prefer 'markdown' or 'html' for new content. | |
| description | No | New description. Markdown by default. If you are sending HTML, also pass `textFormat: 'html'` so Kaiten parses and normalizes it — without that hint, raw HTML shows up in the UI as literal angle brackets. | |
| dueDateTimePresent | No | Force the deadline visibility flag explicitly. Kaiten stores this as `due_date_time_present` and the UI hides the deadline entirely when it is false (even if `due_date` is set). Default behavior of this tool: auto-true whenever `dueDate` is provided. Pass false explicitly only if you intentionally want to stash a deadline that does not show in the UI. |