Skip to content
Support

Soft-remove a taxonomy node

DELETE/v1/taxonomy/nodes/{node_id}

Soft-removes a taxonomy node (sets removed_at/removed_by) and records a soft_remove event attributed to actor_id. The node is retained for audit but excluded from tree responses. 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).

Path ParametersExpand Collapse
node_id: string
formatuuid
Query ParametersExpand Collapse
actor_id: string

Identifier of the actor performing the removal (recorded in the audit event).

minLength1
maxLength255
tenant_id: string

Tenant that owns the node.

minLength1
maxLength255
ReturnsExpand Collapse
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
formatuuid
created_at: string
formatdate-time
label: string
level: number

Depth in the tree; the root is level 0.

formatint64
node_type: "root" or "branch" or "leaf"

Position of a node within the taxonomy tree.

Accepts one of the following:
"root"
"branch"
"leaf"
run_id: string
formatuuid
sort_order: number
formatint64
updated_at: string
formatdate-time
children: optional array of Node { id, created_at, label, 13 more }

Child nodes, present when the tree is returned hierarchically.

cluster_id: optional string

Cluster this node summarizes; typically present on leaf nodes.

formatuuid
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.

formatuuid
removed_at: optional string

Set when the node has been soft-removed.

formatdate-time
removed_by: optional string

Actor that soft-removed the node.

Soft-remove a taxonomy node

curl http://localhost:8080/v1/taxonomy/nodes/$NODE_ID \
    -X DELETE \
    -H "Authorization: Bearer $HUB_API_KEY"
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "created_at": "2019-12-27T18:11:19.117Z",
  "label": "label",
  "level": 0,
  "node_type": "root",
  "run_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "sort_order": 0,
  "updated_at": "2019-12-27T18:11:19.117Z",
  "children": [],
  "cluster_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "description": "description",
  "metadata": {
    "foo": "bar"
  },
  "original_label": "original_label",
  "parent_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "removed_at": "2019-12-27T18:11:19.117Z",
  "removed_by": "removed_by"
}
Returns Examples
{
  "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "created_at": "2019-12-27T18:11:19.117Z",
  "label": "label",
  "level": 0,
  "node_type": "root",
  "run_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "sort_order": 0,
  "updated_at": "2019-12-27T18:11:19.117Z",
  "children": [],
  "cluster_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "description": "description",
  "metadata": {
    "foo": "bar"
  },
  "original_label": "original_label",
  "parent_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "removed_at": "2019-12-27T18:11:19.117Z",
  "removed_by": "removed_by"
}