Skip to content
Get started

Get similar feedback records

GET/v1/feedback-records/{id}/similar

Returns feedback record IDs and similarity scores for records similar to the given one (by embedding). Only available when embeddings are configured (EMBEDDING_PROVIDER and EMBEDDING_MODEL set). Supported providers: openai, google (AI Studio), google-vertex. When embeddings are disabled, this endpoint returns 503 Service Unavailable. The source feedback record must belong to the given tenant_id (enforced).

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

Tenant ID (required for isolation; must match feedback record tenant_id)

minLength1
cursor: optional string

Omit for the first page. For the next page, use the exact value from the previous response's next_cursor. Opaque (base64-encoded); keyset pagination.

limit: optional number

Number of results to return (default 10, max 100). Consistent with list endpoints.

minimum1
maximum100
min_score: optional number

Minimum similarity score (0..1); only results with score >= min_score are returned. Default 0.7 to reduce noise.

formatfloat
minimum0
maximum1
ReturnsExpand Collapse
data: array of object { feedback_record_id, field_label, score, value_text }

List of feedback record IDs with similarity scores (0 = unrelated, 1 = identical). Consistent with list endpoints.

feedback_record_id: string

Feedback record UUID

formatuuid
field_label: string

Label of the feedback field (included in embedding for context). May be empty if the source record had no label.

score: number

Similarity score (0..1)

formatdouble
value_text: string

value_text of the feedback record (the text that was embedded). May be empty if the source had no text; embeddings are only created for records with non-empty value_text, but the field can be cleared after embedding creation.

limit: number

Limit used in query (echoed for consistency with list endpoints)

next_cursor: optional string

Opaque cursor for the next page (keyset paging). Present only when there may be more results (full page returned). Omit when no next page. Use this exact value as the cursor query param for the next page.

Get similar feedback records

curl http://localhost:8080/v1/feedback-records/$ID/similar \
    -H "Authorization: Bearer $HUB_API_KEY"
{
  "data": [
    {
      "feedback_record_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "field_label": "field_label",
      "score": 0,
      "value_text": "value_text"
    }
  ],
  "limit": 0,
  "next_cursor": "eyJkIjowLjEsImkiOiIwMThlMTIzNC01Njc4LTlhYmMtZGVmMC0xMTExMTExMTExMTEifQ=="
}
Returns Examples
{
  "data": [
    {
      "feedback_record_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "field_label": "field_label",
      "score": 0,
      "value_text": "value_text"
    }
  ],
  "limit": 0,
  "next_cursor": "eyJkIjowLjEsImkiOiIwMThlMTIzNC01Njc4LTlhYmMtZGVmMC0xMTExMTExMTExMTEifQ=="
}