Start a taxonomy run
Starts a manual taxonomy generation run for a field scope. Hub validates that the field has enough embedded text feedback (below the configured minimum returns 400 with an "insufficient data" validation error), creates the run, and hands it to the taxonomy compute service.
Idempotent per scope: if a run is already pending or running for the same scope, the existing run
is returned with in_progress: true (HTTP 200) instead of starting a new one; a newly created run
returns HTTP 202 with in_progress: false. 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. Requires
Hub embeddings and the taxonomy service to be configured; otherwise returns 503.
Body Parameters
Optional identifier of the actor starting the run.
Optional human-readable field label.
Optional; empty or omitted is the canonical "no source" bucket.
Returns
True when an existing pending/running run for the scope was returned instead of starting a new one.
Start a taxonomy run
curl http://localhost:8080/v1/taxonomy/runs \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $HUB_API_KEY" \
-d '{
"field_id": "feedback",
"source_type": "formbricks",
"tenant_id": "org-123"
}'{
"in_progress": true,
"run": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"cluster_count": 0,
"created_at": "2019-12-27T18:11:19.117Z",
"embedding_count": 0,
"field_id": "field_id",
"node_count": 0,
"record_count": 0,
"source_id": "source_id",
"source_type": "source_type",
"status": "pending",
"tenant_id": "tenant_id",
"updated_at": "2019-12-27T18:11:19.117Z",
"error": "error",
"error_code": "insufficient_data",
"field_label": "field_label",
"finished_at": "2019-12-27T18:11:19.117Z",
"metrics": {
"foo": "bar"
},
"params": {
"foo": "bar"
},
"started_at": "2019-12-27T18:11:19.117Z"
}
}Returns Examples
{
"in_progress": true,
"run": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"cluster_count": 0,
"created_at": "2019-12-27T18:11:19.117Z",
"embedding_count": 0,
"field_id": "field_id",
"node_count": 0,
"record_count": 0,
"source_id": "source_id",
"source_type": "source_type",
"status": "pending",
"tenant_id": "tenant_id",
"updated_at": "2019-12-27T18:11:19.117Z",
"error": "error",
"error_code": "insufficient_data",
"field_label": "field_label",
"finished_at": "2019-12-27T18:11:19.117Z",
"metrics": {
"foo": "bar"
},
"params": {
"foo": "bar"
},
"started_at": "2019-12-27T18:11:19.117Z"
}
}