## Rename **patch** `/v1/taxonomy/nodes/{node_id}` Renames a taxonomy node's label and records a rename event attributed to actor_id. Tenant-scoped; returns 404 if the node does not belong to the tenant. While a tenant data purge runs for the same tenant_id, the request is rejected with HTTP 409 (code `tenant_write_conflict`) and may be retried. ### Path Parameters - `node_id: string` ### Body Parameters - `actor_id: string` - `label: string` New node label. - `tenant_id: string` ### Returns - `Node = object { id, created_at, label, 13 more }` A node in a taxonomy tree. Non-root nodes have a parent; leaf nodes reference the cluster they summarize. - `id: string` - `created_at: string` - `label: string` - `level: number` Depth in the tree; the root is level 0. - `node_type: "root" or "branch" or "leaf"` Position of a node within the taxonomy tree. - `"root"` - `"branch"` - `"leaf"` - `run_id: string` - `sort_order: number` - `updated_at: string` - `children: optional array of Node` Child nodes, present when the tree is returned hierarchically. - `cluster_id: optional string` Cluster this node summarizes; typically present on leaf nodes. - `description: optional string` - `metadata: optional map[unknown]` - `original_label: optional string` Label as originally generated, before any rename. - `parent_id: optional string` Parent node ID; absent for the root node. - `removed_at: optional string` Set when the node has been soft-removed. - `removed_by: optional string` Actor that soft-removed the node. ### Example ```http curl http://localhost:8080/v1/taxonomy/nodes/$NODE_ID \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $HUB_API_KEY" \ -d '{ "actor_id": "user-42", "label": "Authentication Problems", "tenant_id": "org-123" }' ```