Search API: schemas

The request and response bodies of the operations in this API.

FacetBucket

PropertyTypeRequiredDescription
countnumberyes
keystringyes
subFacetsmap of array of FacetBucketno

FacetResponse

PropertyTypeRequiredDescription
dateHistogramarray of FacetBucketyes
docTypesarray of FacetBucketyes
phasesarray of FacetBucketyes
tagsarray of FacetBucketyes

FacetResponseDataEnvelope

PropertyTypeRequiredDescription
dataFacetResponseyes

ModeStatsDto

PropertyTypeRequiredDescription
avgLatencyMsnumberyesAverage latency in milliseconds for this mode
countnumberyesNumber of queries using this mode
modeone of "TEXT", "SEMANTIC", "HYBRID"yesSearch mode

ProblemActionableBy

Who can act on this refusal: user (correct the input, sign in), org-admin (an administrator of the organisation), platform (the operators of this installation), none (nobody — it cannot succeed). ABSENT when not known; never guessed.

Type: one of "user", "org-admin", "platform", "none"

ProblemDetailsDto

RFC 9457 problem document. The declared members are the reserved core; extension members are TOP-LEVEL and OPEN, owned by the refusing plane.

PropertyTypeRequiredDescription
actionableByProblemActionableBynoWho can act on this refusal: user (correct the input, sign in), org-admin (an administrator of the organisation), platform (the operators of this installation), none (nobody — it cannot succeed). ABSENT when not known; never guessed.
codestringyesSCREAMING_SNAKE_CASE. The machine-branchable refusal, and the value a policy rule, a retry predicate and a UI branch all name.
detailstringnoHuman-readable and specific to THIS occurrence.
errorsarray of ProblemFieldIssueDtonoField-level issues, when the refusal is about the request body.
instancestringnoURI reference identifying the occurrence — a request path, a run, a row.
paramsmap of string or number or booleannoSafe i18n interpolation values for the message keyed by code — typed and allowlisted per code by its declaration. Never server-authored copy, never internal diagnostics.
retryProblemRetrynoWhat a retry can achieve: transient (later, unchanged), after-change (only after someone changes something), never (a defect until a fixed version ships). ABSENT when not known.
statusnumberyesThe HTTP status code, repeated in the body so a logged document is self-contained.
titlestringyesShort, human-readable, and STABLE for a given type. Never per-occurrence — that is detail.
traceIdstringnoW3C trace-context trace-id, present when the caller sent a traceparent. Omitted rather than invented when it did not.
typestringyesAbsolute URI identifying the refusal TYPE. Derived one-to-one from code, so a caller may branch on either and can never be told two different things. Never about:blank.

ProblemFieldIssueDto

PropertyTypeRequiredDescription
codestringnoSCREAMING_SNAKE_CASE code of THIS issue, for a frontend i18n key. Present when the issue was minted by a declared problem.
detailstringyesProse for logs and developers. A frontend localises from code + params instead.
paramsmap of string or number or booleannoSafe i18n interpolation values for this issue's code.
pointerstringyesRFC 6901 JSON Pointer into the request body. Root is "/".

ProblemRetry

What a retry can achieve: transient (later, unchanged), after-change (only after someone changes something), never (a defect until a fixed version ships). ABSENT when not known.

Type: one of "transient", "after-change", "never"

ReindexJobResponseDto

PropertyTypeRequiredDescription
completedAtobject or nullnoJob completion timestamp
createdAtstring (date-time)yesJob creation timestamp
errorobject or nullnoError message if the job failed
jobIdstringyesUnique job ID
orgIdstringyesOrganization ID
progressnumberyesNumber of documents processed
statusone of "PENDING", "RUNNING", "COMPLETED", "FAILED"yesCurrent job status
totalnumberyesTotal documents to process

ReindexJobResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataReindexJobResponseDtoyes

ReindexTriggerResponseDto

PropertyTypeRequiredDescription
jobIdstringyesUnique job ID
orgIdstringyesOrganization ID
statusstringyesJob status

ReindexTriggerResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataReindexTriggerResponseDtoyes

ResolvedRouteDto

PropertyTypeRequiredDescription
docTypestringnoThe matched result-type's docType facet, when it has one.
naturalKeystringyesNatural key of the matched result-type: objectKind, objectKind/docType, or the bare docType for a docType-only result-type.
objectKindstringnoThe XemaObjectKind of the matched result-type. Absent for a docType-only result-type.
refstringyesThe ref that was resolved (echoed verbatim).
routeTemplatestringyesThe declared route template, before expansion.
urlstringyesThe expanded, site-relative frontend URL for this ref.

ResolvedRouteDtoDataEnvelope

PropertyTypeRequiredDescription
dataResolvedRouteDtoyes

ResourceVisibilityPattern

Fallback visibility for instances without an explicit pattern.

Type: one of "owner-only", "org-shared", "explicit-share"

SearchHitDto

PropertyTypeRequiredDescription
docTypestringyesDocument type: the OPEN, biome-contributed facet a search source emits (the docType of its IndexableDocument). The set grows with every installed biome, so it is a plain string, never a closed enum. Discover the registered types and their labels via the search:types.list@1 capability or GET /search-types.
highlightsmap of array of stringnoHighlighted matching fragments by field name
idstringyesDocument ID
orgIdstringyesOrganization ID
projectIdstringyesProject ID
refstringyesCanonical xema:// address of this result, reconstructed from its scope + docType + sourceId. Always present — this is the stable handle a consumer passes to GET /search-types/resolve-route or any ref-taking capability.
routeUrlstringnoSite-relative frontend URL for this result. Present ONLY when the hit's result-type is registered, declares a renderHints.routeTemplate, and every placeholder in that template resolves from this hit. Absent otherwise — never a partially-substituted or guessed URL.
scorenumberyesRelevance score
sourceIdstringyesSource entity ID in the originating service
summarystringnoDocument summary or excerpt
titlestringnoDocument title

SearchResultDto

PropertyTypeRequiredDescription
hitsarray of SearchHitDtoyesRanked search results
totalnumberyesTotal number of matching documents

SearchResultDtoDataEnvelope

PropertyTypeRequiredDescription
dataSearchResultDtoyes

SearchStatsResponseDto

PropertyTypeRequiredDescription
avgHitCountnumberyesAverage number of hits per query
avgLatencyMsnumberyesAverage latency in milliseconds
byModearray of ModeStatsDtoyesBreakdown by search mode
maxLatencyMsnumberyesMaximum latency in milliseconds
minLatencyMsnumberyesMinimum latency in milliseconds
totalQueriesnumberyesTotal number of search queries

SearchStatsResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataSearchStatsResponseDtoyes

SearchTraceResponseDto

PropertyTypeRequiredDescription
callerServiceobject or nullnoCalling service name
createdAtstring (date-time)yesTrace creation timestamp
embeddingMsobject or nullnoEmbedding generation latency in milliseconds
hitCountnumberyesNumber of hits returned
idstringyesTrace ID
orgIdstringyesOrganization ID
projectIdstringyesProject ID
querystringyesSearch query text
searchModeone of "TEXT", "SEMANTIC", "HYBRID"yesSearch mode used
searchMsnumberyesSearch execution latency in milliseconds
topScoreobject or nullnoScore of the top-ranked hit
totalMsnumberyesTotal request latency in milliseconds

SearchTypeAuthzDto

PropertyTypeRequiredDescription
defaultVisibilityResourceVisibilityPatternyesFallback visibility for instances without an explicit pattern.
resourceTypestringyesFGA/authorization resource-type slug.

SearchTypeDto

PropertyTypeRequiredDescription
authzSearchTypeAuthzDtoyes
docTypestringnoBiome sub-facet under objectKind.
embeddingEligibleDefaultbooleanyesDefault embedding-eligibility for instances.
naturalKeystringyesNatural key: objectKind, objectKind/docType, or the bare docType for a docType-only result-type.
objectKindstringnoThe XemaObjectKind this result-type covers. Absent for a docType-only result-type.
ownerIdstringyesContribution owner id.
ownerTypestringyesContribution owner kind (e.g. biome).
renderHintsSearchTypeRenderHintsDtoyes
searchReplayCapabilityRefstringnoCapability ref for replaying an instance.
searchableFieldsarray of stringyesFields carrying searchable text.

SearchTypeListDto

PropertyTypeRequiredDescription
searchTypesarray of SearchTypeDtoyes

SearchTypeListDtoDataEnvelope

PropertyTypeRequiredDescription
dataSearchTypeListDtoyes

SearchTypeRenderHintsDto

PropertyTypeRequiredDescription
iconstringnoIcon slug the frontend maps to a component.
labelstringyesHuman-readable result-type label.
routeTemplatestringnoDeep-link route template with {placeholder} segments the frontend fills.

TracesListResponseDto

PropertyTypeRequiredDescription
totalnumberyesTotal number of matching traces
tracesarray of SearchTraceResponseDtoyesList of search traces

TracesListResponseDtoDataEnvelope

PropertyTypeRequiredDescription
dataTracesListResponseDtoyes