Skip to main content

Search reference

Parameters

ParameterPurpose
QueryThe search term
AttributeScopes the search to one attribute
Entity type filterRestricts to one type
Status filterRestricts by entity status
Show mergedIncludes merged records, excluded by default
FuzzySelects fuzzy label matching instead of full-text
SortOrders results
Page, page sizePagination — default 25, maximum 1000
Unknown parameters are ignored, not rejected

The query schema passes unrecognised parameters through silently. A misspelled or invented parameter produces no error — it simply has no effect, and you get unfiltered results that look filtered. Check parameter names against this table.

hasDuplicates in particular is a response field, not a query parameter.

Parameters are validated. A malformed value returns a 400 naming the offending parameter, rather than a 500 — a negative page number or a non-identifier filter is a caller error and is reported as one.

Strategies

StrategyTriggered byMatches
Full textA query with no attribute scope and no fuzzy flagIndexed text on the entity
Fuzzy labelA query with the fuzzy flag setThe entity's display label, tolerant of typos
Attribute-scopedA query plus an attributeThat attribute's value, and its resolved label where lookup-bound

Result fields

FieldContains
Entity identifier and typeThe matched record
LabelDisplay label, masked if masking applies
Matched attributeWhich attribute matched, for attribute-scoped search
Matched valueThe matching value, masked if masking applies
Matched value labelThe resolved label, where lookup-bound

Label matching has a bound

Matching resolved labels is capped. When a query would match more labels than the cap, results carry a flag indicating truncation.

The cap exists because a very short query can match an enormous number of labels. Erroring instead was rejected: a single-character query is a legitimate prefix search, and failing it would be worse than returning best matches with an honest signal that more exist.

Access control

LayerEffect
Tenant isolationOnly the caller's tenant is searchable
ABAC policiesDenied records are absent from results
Field maskingMatched values are masked as they are elsewhere

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

Next


Last verified against commit a0765982 (2026-08-03)