---
title: "Soft-remove a taxonomy node"
method: DELETE
path: "/v1/taxonomy/nodes/{node_id}"
tags: ["Taxonomy"]
---

# 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 parameters

- `node_id` string, uuid, required

## Query parameters

- `tenant_id` string, required
- `actor_id` string, required

## Response `200`

The soft-removed node

- TaxonomyNodeData — A node in a taxonomy tree. Non-root nodes have a parent; leaf nodes reference the cluster they summarize.
  - `id` string, uuid, required
  - `run_id` string, uuid, required
  - `parent_id` string, uuid — Parent node ID; absent for the root node.
  - `cluster_id` string, uuid — Cluster this node summarizes; typically present on leaf nodes.
  - `node_type` 'root' | 'branch' | 'leaf', required — Position of a node within the taxonomy tree.
  - `label` string, required
  - `original_label` string — Label as originally generated, before any rename.
  - `description` string
  - `level` integer, required — Depth in the tree; the root is level 0.
  - `sort_order` integer, required
  - `metadata` object
  - `removed_at` string, date-time — Set when the node has been soft-removed.
  - `removed_by` string — Actor that soft-removed the node.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `children` TaxonomyNodeData[] — Child nodes, present when the tree is returned hierarchically.

## Other responses

- `400` — Bad Request (e.g. invalid node_id or missing/invalid query parameters)
- `401` — Unauthorized (missing or invalid API key)
- `404` — Not Found – no node with this ID for the tenant.
- `409` — Conflict – a tenant data purge for the same tenant_id is in progress (code `tenant_write_conflict`). The node was not changed; retry later.
- `default` — Error

---

[API](https://skmtc.net/formbricks/apis/formbricks-hub-api.md) · [All operations](https://skmtc.net/formbricks/apis/formbricks-hub-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/formbricks/formbricks-hub-api/revisions/8d06d9728138/schema)
