Skip to main content
The workspace’s one search method. Use it when you want predictable, low-latency retrieval without an agentic loop. For a single-shot answer with cited evidence, use fact-search; for multi-step questions, use deep-search. Results are filtered through the caller’s access-label predicate. Returns 404 if the workspace has not been indexed yet — ingest files first.
Combines a BM25 keyword leg and a dense-vector leg with Reciprocal Rank Fusion, so exact identifiers (ticker symbols, account codes, clause numbers) and paraphrased concepts both land in one call. The retrieval configuration is fixed server-side at the evaluated-best setting: there are no per-request retrieval knobs and no single-leg variants to choose between. Request body:
Body fields:
  • query (required, max 4096 chars) — Search query.
  • k (optional, default 10, max 100) — Number of hits to return.
  • path_prefix (optional) — Restrict to files under this folder prefix.
  • categories (optional) — Restrict to files assigned these document categories (from classification).
Response:
Response fields:
  • hits — Ordered by score. Each Evidence item: file_id, path, locator (required — page/position in the source), relevance_score, snippet (verbatim passage), why (retrieval rationale), component (which public component of the file the hit came from — a spreadsheet tab name or a split document’s section; null for single-component files or when attribution is unavailable). Act on a hit by passing component straight to qa-file / read-file as component= (with pages from the locator for documents).
  • candidates_seen — Pre-access-filter count; compare to hits length to tell when the access gate truncated results.
  • truncatedtrue when the index found more than k candidates before access filtering.
  • coverage — Labels required to see withheld candidates.

Choosing a search method


Errors

  • workspace_not_found (404) — No such workspace.
  • invalid_request (422) — query is empty, k is out of range, or both path_prefix and categories produce an empty scope.