Skip to content
Get started

List feedback records with filters

GET/v1/feedback-records

Lists feedback records with optional filters and pagination

Query ParametersExpand Collapse
field_group_id: optional string

Filter by field group ID (for ranking/matrix questions). NULL bytes not allowed.

field_id: optional string

Filter by field ID. NULL bytes not allowed.

field_type: optional string

Filter by field type. NULL bytes not allowed.

limit: optional number

Number of results to return (max 1000)

formatint64
minimum1
maximum1000
offset: optional number

Number of results to skip

formatint64
minimum0
maximum2147483647
since: optional string

Filter by collected_at >= since (ISO 8601 format). Must be between 1970-01-01 and 2080-12-31.

formatdate-time
source_id: optional string

Filter by source ID (NULL bytes not allowed)

source_type: optional string

Filter by source type. NULL bytes not allowed.

tenant_id: optional string

Filter by tenant ID (for multi-tenant deployments). NULL bytes not allowed.

until: optional string

Filter by collected_at <= until (ISO 8601 format). Must be between 1970-01-01 and 2080-12-31.

formatdate-time
user_identifier: optional string

Filter by user identifier. NULL bytes not allowed.

ReturnsExpand Collapse
data: array of FeedbackRecordData { id, collected_at, created_at, 17 more }

List of feedback records

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: string

Type of field

source_type: string

Type of feedback source

updated_at: string

When this record was last updated

formatdate-time
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

source_id: optional string

Reference to survey/form/ticket ID

source_name: optional string

Human-readable name

tenant_id: optional string

Tenant/organization identifier. NULL bytes not allowed.

user_identifier: optional string

User identifier

value_boolean: optional boolean

Boolean response

value_date: optional string

Date response

formatdate-time
value_number: optional number

Numeric response

formatdouble
value_text: optional string

Text response. NULL bytes not allowed.

limit: number

Limit used in query

formatint64
offset: number

Offset used in query

formatint64
total: number

Total count of feedback records matching filters

formatint64

List feedback records with filters

curl http://localhost:8080/v1/feedback-records \
    -H "Authorization: Bearer $HUB_API_KEY"
{
  "data": [
    {
      "id": "018e1234-5678-9abc-def0-123456789abc",
      "collected_at": "2024-01-15T10:30:00Z",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z",
      "source_type": "survey",
      "field_id": "q1",
      "field_type": "rating",
      "field_label": "How satisfied are you?",
      "value_number": 9,
      "source_id": "survey-123",
      "source_name": "Q1 NPS Survey",
      "user_identifier": "user-abc-123",
      "tenant_id": "org-123"
    }
  ],
  "total": 1,
  "limit": 100,
  "offset": 0
}
{
  "type": "about:blank",
  "title": "Bad Request",
  "status": 400,
  "detail": "Validation failed",
  "instance": "/v1/feedback-records",
  "errors": [
    {
      "location": "body.field_id",
      "message": "Field is required",
      "value": null
    }
  ]
}
Returns Examples
{
  "data": [
    {
      "id": "018e1234-5678-9abc-def0-123456789abc",
      "collected_at": "2024-01-15T10:30:00Z",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z",
      "source_type": "survey",
      "field_id": "q1",
      "field_type": "rating",
      "field_label": "How satisfied are you?",
      "value_number": 9,
      "source_id": "survey-123",
      "source_name": "Q1 NPS Survey",
      "user_identifier": "user-abc-123",
      "tenant_id": "org-123"
    }
  ],
  "total": 1,
  "limit": 100,
  "offset": 0
}
{
  "type": "about:blank",
  "title": "Bad Request",
  "status": 400,
  "detail": "Validation failed",
  "instance": "/v1/feedback-records",
  "errors": [
    {
      "location": "body.field_id",
      "message": "Field is required",
      "value": null
    }
  ]
}