v1

latestOpenAPI 3.0.3BSL2026-07-17133415718.8 KB
Chunk

Autocomplete

This route provides the primary autocomplete functionality for the API. This prioritize prefix matching with semantic or full-text search.

post/api/chunk/autocomplete

Headers

TR-Datasetstring uuid required

The dataset id or tracking_id to use for the request. We assume you intend to use an id if the value is a valid uuid.

X-API-Version'V1' | 'V2'

The API version to use for this request. Defaults to V2 for orgs created after July 12, 2024 and V1 otherwise.

Request body

content_onlyboolean nullable

Set content_only to true to only returning the chunk_html of the chunks. This is useful for when you want to reduce amount of data over the wire for latency improvement (typically 10-50ms). Default is false.

extend_resultsboolean nullable

If specified to true, this will extend the search results to include non-exact prefix matches of the same search_type such that a full page_size of results are returned. Default is false.

{"stackTrail":"components:schemas:AutocompleteReqPayload:properties:metadata","oasType":"schema","type":"unknown","description":"Metadata is any metadata you want to associate w/ the event that is created from this request","nullable":true}
page_sizeinteger nullable

Page size is the number of chunks to fetch. This can be used to fetch more than 10 chunks at a time.

remove_stop_wordsboolean nullable

If true, stop words (specified in server/src/stop-words.txt in the git repo) will be removed. Queries that are entirely stop words will be preserved.

score_thresholdnumber float nullable

Set score_threshold to a float to filter out chunks with a score below the threshold. This threshold applies before weight and bias modifications. If not specified, this defaults to 0.0.

search_type'fulltext' | 'semantic' | 'hybrid' | 'bm25' required
slim_chunksboolean nullable

Set slim_chunks to true to avoid returning the content and chunk_html of the chunks. This is useful for when you want to reduce amount of data over the wire for latency improvement (typically 10-50ms). Default is false.

use_quote_negated_termsboolean nullable

If true, quoted and - prefixed words will be parsed from the queries and used as required and negated words respectively. Default is false.

user_idstring nullable

User ID is the id of the user who is making the request. This is used to track user interactions with the search results.

Example request

{
  "filters": {
    "must": [
      {
        "field": "metadata.key2",
        "match": [
          "value3",
          "value4"
        ],
        "range": {
          "gt": 0,
          "gte": 0,
          "lt": 1,
          "lte": 1
        }
      }
    ],
    "must_not": [
      {
        "field": "metadata.key3",
        "match": [
          "value5",
          "value6"
        ],
        "range": {
          "gt": 0,
          "gte": 0,
          "lt": 1,
          "lte": 1
        }
      }
    ],
    "should": [
      {
        "field": "metadata.key1",
        "match": [
          "value1",
          "value2"
        ],
        "range": {
          "gt": 0,
          "gte": 0,
          "lt": 1,
          "lte": 1
        }
      }
    ]
  },
  "highlight_delimiters": [
    "?",
    ",",
    ".",
    "!"
  ],
  "highlight_results": true,
  "page": 1,
  "page_size": 10,
  "query": "Some search query",
  "recency_bias": 1,
  "score_threshold": 0.5,
  "search_type": "semantic",
  "use_weights": true
}

Response

Chunks with embedding vectors which are similar to those in the request body

OR

Example response

{
  "chunks": [
    {
      "chunk": {
        "chunk_html": "<p>Some HTML content</p>",
        "content": "Some content",
        "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
        "link": "https://example.com",
        "metadata": {
          "key1": "value1",
          "key2": "value2"
        },
        "time_stamp": "2021-01-01 00:00:00.000",
        "weight": 0.5
      },
      "highlights": [
        "highlight is two tokens: high, light",
        "whereas hello is only one token: hello"
      ],
      "score": 0.5
    }
  ]
}