---
title: "Get the active taxonomy tree for a scope"
method: GET
path: "/v1/taxonomy/runs/active/tree"
tags: ["Taxonomy"]
---

# Get the active taxonomy tree for a scope

`GET /v1/taxonomy/runs/active/tree`

Returns the currently active taxonomy run and its tree for a field or directory scope. Exactly one run is
active per scope at a time. Returns 404 when no run has been activated for the scope.

## Query parameters

- `tenant_id` string, required
- `scope_type` 'field' | 'directory' — Taxonomy input scope. `field` covers one (source_type, source_id, field_id) field scope. `directory` covers all text feedback records for the tenant/directory and must not include source_type, source_id, or field_id.
- `source_type` string
- `source_id` string
- `field_id` string

## Response `200`

The active run and its taxonomy tree

- TaxonomyTreeOutputBody
  - `run` TaxonomyRunData, required — A persisted taxonomy generation run.
    - `id` string, uuid, required
    - `scope_type` 'field' | 'directory', required — Taxonomy input scope. `field` covers one (source_type, source_id, field_id) field scope. `directory` covers all text feedback records for the tenant/directory and must not include source_type, source_id, or field_id.
    - `tenant_id` string, required
    - `source_type` string, required
    - `source_id` string, required — Empty string is the canonical "no source" bucket.
    - `field_id` string, required
    - `field_label` string — Human-readable field label; absent when unknown.
    - `status` 'pending' | 'running' | 'succeeded' | 'failed' | 'canceled', required — Lifecycle state of a taxonomy run. Allowed transitions are pending -> running|failed|canceled and running -> succeeded|failed|canceled.
    - `params` object — Opaque run parameters recorded by Hub.
    - `metrics` object — Opaque run metrics recorded by the taxonomy service.
    - `record_count` integer, required
    - `embedding_count` integer, required
    - `cluster_count` integer, required
    - `node_count` integer, required
    - `error` string — Sanitized failure message; present on failed runs.
    - `error_code` 'insufficient_data' | 'service_unavailable' | 'generation_failed' | 'invalid_output' | 'internal_error' — Machine-readable reason a taxonomy run failed or a prerequisite was not met.
    - `started_at` string, date-time
    - `finished_at` string, date-time
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `root` TaxonomyNodeData, required — 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. missing/invalid scope parameters)
- `401` — Unauthorized (missing or invalid API key)
- `404` — Not Found – no active taxonomy run exists for the scope.
- `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)
