Skip to content
Support

List feedback records for a taxonomy node

GET/v1/taxonomy/nodes/{node_id}/records

Returns the feedback records assigned to a node and all of its (visible) descendant nodes, via the clusters those nodes reference. Tenant-scoped; returns 404 if the node does not belong to the tenant or has been removed. An empty data therefore means the node genuinely holds no records. The limit in the response reflects the applied cap.

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

Tenant that owns the node.

minLength1
maxLength255
limit: optional number

Maximum number of feedback records to return.

formatint64
minimum1
maximum100
ReturnsExpand Collapse
data: array of FeedbackRecordData { id, collected_at, created_at, 24 more }
id: string

UUIDv7 primary key

formatuuid
collected_at: string

When the feedback was collected

formatdate-time
created_at: string

When this record was created

formatdate-time
field_id: string

Identifier for the question/field

field_type: "text" or "categorical" or "nps" or 6 more

Type of field

Accepts one of the following:
"text"
"categorical"
"nps"
"csat"
"ces"
"rating"
"number"
"boolean"
"date"
source_type: string

Type of feedback source

submission_id: string

Identifier for the logical submission this record belongs to (required).

tenant_id: string

Tenant/organization identifier. NULL bytes not allowed.

updated_at: string

When this record was last updated

formatdate-time
emotions: optional array of "joy" or "anger" or "sadness" or 3 more

Emotions inferred from value_text (emotion enrichment); multi-label from a fixed set. Read-only; absent until the record is enriched, and never an empty array.

Accepts one of the following:
"joy"
"anger"
"sadness"
"fear"
"surprise"
"disgust"
field_group_id: optional string

Stable identifier grouping related fields (for ranking, matrix, grid questions)

field_group_label: optional string

Human-readable question text for the group

field_label: optional string

The actual question text

language: optional string

ISO language code. NULL bytes not allowed.

metadata: optional map[unknown]

Additional context

sentiment: optional "very_negative" or "negative" or "neutral" or 3 more

Sentiment polarity inferred from value_text (sentiment enrichment). Read-only; absent until the record is enriched.

Accepts one of the following:
"very_negative"
"negative"
"neutral"
"positive"
"very_positive"
"mixed"
sentiment_score: optional number

Signed sentiment polarity from -1.0 (very negative) to 1.0 (very positive) (sentiment enrichment). Read-only; absent until the record is enriched.

formatdouble
minimum-1
maximum1
source_id: optional string

Reference to survey/form/ticket ID

source_name: optional string

Human-readable name

translation_lang_key: optional string

BCP-47 target locale that value_text_translated was produced in (language enrichment). Read-only; absent until the record is enriched.

maxLength35
user_id: optional string

User ID (e.g., anonymous ID or email hash)

value_boolean: optional boolean

Boolean response

value_date: optional string

Date response

formatdate-time
value_id: optional string

Stable id of the selected option in the source system (e.g. a survey choice id), stored alongside value_text for durable option identity. Opaque to Hub. Absent for free-text/non-choice answers. NULL bytes not allowed.

value_number: optional number

Numeric response

formatdouble
value_text: optional string

Text response. NULL bytes not allowed.

value_text_translated: optional string

value_text translated into the tenant's configured target language (language enrichment). Read-only; absent until the record is enriched.

limit: number

The applied maximum number of records.

formatint64

List feedback records for a taxonomy node

curl http://localhost:8080/v1/taxonomy/nodes/$NODE_ID/records \
    -H "Authorization: Bearer $HUB_API_KEY"
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "collected_at": "2019-12-27T18:11:19.117Z",
      "created_at": "2019-12-27T18:11:19.117Z",
      "field_id": "field_id",
      "field_type": "text",
      "source_type": "source_type",
      "submission_id": "submission_id",
      "tenant_id": "tenant_id",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "emotions": [
        "joy"
      ],
      "field_group_id": "field_group_id",
      "field_group_label": "field_group_label",
      "field_label": "field_label",
      "language": "language",
      "metadata": {
        "foo": "bar"
      },
      "sentiment": "very_negative",
      "sentiment_score": -1,
      "source_id": "source_id",
      "source_name": "source_name",
      "translation_lang_key": "translation_lang_key",
      "user_id": "user_id",
      "value_boolean": true,
      "value_date": "2019-12-27T18:11:19.117Z",
      "value_id": "value_id",
      "value_number": 0,
      "value_text": "value_text",
      "value_text_translated": "value_text_translated"
    }
  ],
  "limit": 0
}
Returns Examples
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "collected_at": "2019-12-27T18:11:19.117Z",
      "created_at": "2019-12-27T18:11:19.117Z",
      "field_id": "field_id",
      "field_type": "text",
      "source_type": "source_type",
      "submission_id": "submission_id",
      "tenant_id": "tenant_id",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "emotions": [
        "joy"
      ],
      "field_group_id": "field_group_id",
      "field_group_label": "field_group_label",
      "field_label": "field_label",
      "language": "language",
      "metadata": {
        "foo": "bar"
      },
      "sentiment": "very_negative",
      "sentiment_score": -1,
      "source_id": "source_id",
      "source_name": "source_name",
      "translation_lang_key": "translation_lang_key",
      "user_id": "user_id",
      "value_boolean": true,
      "value_date": "2019-12-27T18:11:19.117Z",
      "value_id": "value_id",
      "value_number": 0,
      "value_text": "value_text",
      "value_text_translated": "value_text_translated"
    }
  ],
  "limit": 0
}