Skip to main content
POST
Search records

Authorizations

Authorization
string
header
required

API key, not necessarily a JWT. Server derives Organization, permitted actions and Corpus scope; every resource access is authorized.

Body

application/json

Text-only top-k query. Resolve all Corpora in the authenticated Organization and require read/search permission for every requested Corpus before querying. Never silently drop an unauthorized Corpus. Unknown/unsupported profile or mode returns 422; a dependency outage is an error, not an empty successful result. Query token limits are checked against the resolved profile; no silent truncation. An optional filter narrows candidates inside the engine query, before ranking and the limit, in every mode. The first-party retrieval plugin returns each Record once, with its best matching passage; custom plugins can request individual passages. Pagination is outside this surface.

query
string
required

At most 8192 code points on the wire. A semantic or hybrid query is also limited by the owner of the searched vector space (the first-party core.ingest plugin accepts at most 256 tokens of its model's tokenizer); a longer query is refused with 422 query_too_long, whose message names the limit, never truncated.

Required string length: 1 - 8192
corpus_ids
string[]
required
Required array length: 1 - 16 elements
Minimum string length: 1
mode
enum<string>
default:hybrid
Available options:
lexical,
semantic,
hybrid
profile
string
default:default

A configured short name or a full plugin/profile name this deployment answers (listSearchProfiles). retrieval.profiles maps short names, including default, to full names. An unknown profile returns 422 unsupported_profile.

Minimum string length: 1
limit
integer
default:10
Required range: 1 <= x <= 50
evaluation_plugin
string

Ingestion plugin whose independent projection to measure. Requires evaluation_space; omitted searches follow served routing.

Minimum string length: 1
evaluation_space
string

Vector space owned by evaluation_plugin. Both fields are required together; invalid selections return 422 unsupported_search.

Minimum string length: 1
filter
object

Candidate filter applied before ranking. Every present condition must hold. A requested Corpus served by a Projection Generation built before source filtering existed returns 422 source_filter_unavailable; rebuild that Corpus once (rebuildCorpusProjection) to enable it. Unfiltered search is unaffected.

Response

Successful response

Bounded top-k results after canonical rechecks. May contain fewer hits than requested; no total count, completeness promise or stable pagination snapshot. Empty results still name the resolved profile.

items
object[]
required
Maximum array length: 50
retrieval_profile
object
required

Resolved retrieval profile identity. Name is the requested short or full name (default when the request named none). Version identifies what ranked as plugin:@/, naming the retrieval plugin, its version and the profile.

excluded_corpora
object[]
usage
object

What a search answered by a retrieval plugin spent; rounds of the plugin, elapsed time, the paid calls and total cost across all profiles, and the time spent in each phase.