Skip to main content

Search at a glance

Three strategies, one endpoint

StrategyReached byGood at
Full textA query, no attribute, no fuzzy flagNatural queries across indexed text
Fuzzy labelA query with the fuzzy flagTypos and near-misses on the display label
Attribute-scopedA query plus an attributeFinding a record by identifier, email, or code

Dispatch is exclusive — setting the fuzzy flag is the only way to reach fuzzy label matching.

Lookup-bound attributes

The stored value is the code; the label is resolved at read time. Attribute-scoped search matches the label as well, so finding a place by its name works even though a number is what is stored.

What access control does

LayerEffect on results
Tenant isolationOnly your tenant is searchable
ABAC policiesDenied records are absent
Field maskingMatched values are masked as elsewhere
An empty result is not proof of absence

A record may exist and be hidden from you by a ABAC policy. This bites hardest when reconciling counts against a source system, where the mismatch reads as data loss.

Search is not a side door: a value masked when reading an entity is masked in search results for the same caller.

Two behaviours to know

Unknown parameters are ignored, not rejected. A misspelled parameter produces no error — it simply has no effect, and you get unfiltered results that look filtered.

Label expansion is capped at 1000, with a truncation flag. Erroring was rejected: a one-character query is a legitimate prefix search.

Next


Last verified against commit 1e1de1ad (2026-08-03)