Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.
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.
Show child attributes
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
Show child attributes
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.
Show child attributes
excluded_corpora
object[]
Show child attributes
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.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Quivr","description":"An open-source engine that turns continuous content streams into search and alerts.","colors":{"primary":"#5b3fd6","light":"#b29aff","dark":"#4b31be"},"api":{"playground":{"display":"interactive"}},"integrations":{"posthog":{"apiKey":"phc_pSFWFc94275asrYSX5PQffv7wE6vUsGDdUnBaDobgtMN","apiHost":"https://us.i.posthog.com","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"thevibecompany","hasAudioNarration":false,"actualSubdomain":"thevibecompany","customDomains":["docs.quivr.thevibecompany.co"],"gitSource":{"type":"github","owner":"the-vibe-company","repo":"quivr","deployBranch":"main","contentDirectory":"docs-site","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae36952217e82a3b9255c43","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Reference","count":108},{"language":"default","tag":"Endpoints","count":100},{"language":"default","tag":"Documentation","count":52},{"language":"default","tag":"Admin","count":28},{"language":"default","tag":"Run Quivr","count":27},{"language":"default","tag":"Connectors","count":15},{"language":"default","tag":"Use Quivr","count":12},{"language":"default","tag":"Corpora","count":10},{"language":"default","tag":"Subscriptions","count":9},{"language":"default","tag":"Extend Quivr","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/search/search-records","slug":"/api-reference/search/search-records","pageMetadata":{"title":"Search records","description":"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/search","href":"/api-reference/search/search-records","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Search records","description":"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/search","href":"/api-reference/search/search-records","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"searchRecords","description":"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.","requestBody":"a299829b-eee7-43f5-95db-c30290c42be2","responses":{"200":"7d21a368-db8f-48ec-9555-3773fa1c216a","default":"ce8373f4-47d4-4822-beae-263c3b9f93bc"},"x-required-permissions":["content:read","search:query"],"tags":["Search"],"summary":"Search records","method":"post","type":"path","servers":[],"security":["da9c3b19-c354-4069-aa95-1130425613d3"],"path":"/v0/search","baseUrlOptions":[],"title":"Search records","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","minLength":1,"maxLength":8192,"description":"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.","isRequired":true,"uniqueKey":"query","typeLabel":"string"},"corpus_ids":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"type":"string","minLength":1,"uniqueKey":"corpus_ids.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"corpus_ids","typeLabel":"string[]"},"mode":{"type":"string","enum":["lexical","semantic","hybrid"],"default":"hybrid","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"profile":{"type":"string","minLength":1,"default":"default","description":"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.","uniqueKey":"profile","typeLabel":"string"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10,"uniqueKey":"limit","typeLabel":"integer"},"evaluation_plugin":{"type":"string","minLength":1,"description":"Ingestion plugin whose independent projection to measure. Requires evaluation_space; omitted searches follow served routing.","uniqueKey":"evaluation_plugin","typeLabel":"string"},"evaluation_space":{"type":"string","minLength":1,"description":"Vector space owned by evaluation_plugin. Both fields are required together; invalid selections return 422 unsupported_search.","uniqueKey":"evaluation_space","typeLabel":"string"},"filter":{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"source_namespaces":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"filter.source_namespaces.items.[INDEX]","typeLabel":"string"},"minItems":1,"maxItems":50,"uniqueItems":true,"description":"Keep only Records whose Source Namespace is one of these values. Ranking and the limit apply within the filtered set, so a source's best matches are returned even when other sources outrank them.","uniqueKey":"filter.source_namespaces","typeLabel":"string[]"},"record_ids":{"type":"array","minItems":1,"maxItems":50,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"filter.record_ids.items.[INDEX]","typeLabel":"string"},"description":"Exact canonical Record identities. Requires an item-keyword generation; rebuild older Corpora first (422 metadata_filter_unavailable).","uniqueKey":"filter.record_ids","typeLabel":"string[]"},"version_ids":{"type":"array","minItems":1,"maxItems":50,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"filter.version_ids.items.[INDEX]","typeLabel":"string"},"description":"Exact canonical Version identities; currentness and authorization still apply.","uniqueKey":"filter.version_ids","typeLabel":"string[]"},"metadata":{"type":"array","minItems":1,"maxItems":16,"items":{"oneOf":[{"type":"object","description":"Every present condition must hold. Field names are unique within a request; at most 16 predicates. Wrong types and reversed bounds return 422 invalid_query. Missing/mistyped source values do not match. Datetimes are normalized to UTC milliseconds (submillisecond digits are truncated).","required":["field","any_of"],"properties":{"field":{"type":"string","pattern":"^(metadata\\.)?[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.field","typeLabel":"string"},"any_of":{"type":"array","minItems":1,"maxItems":50,"items":{"oneOf":[{"type":"string","maxLength":200,"minLength":1,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.any_of.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","x-go-type":"float64","uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.any_of.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.any_of.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.any_of.items.[INDEX]","typeLabel":"string | number | boolean"},"description":"Exact equality (one value) or any-of equality. String-array fields match any element; values retain their declared type. Datetime equality uses RFC3339 strings.","isRequired":true,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.any_of","typeLabel":"(string | number | boolean)[]"},"gte":{"type":"string","format":"date-time","description":"Inclusive lower datetime bound. Requires a datetime field.","uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.gte","typeLabel":"string\u003cdate-time>"},"lte":{"type":"string","format":"date-time","description":"Inclusive upper datetime bound. Requires a datetime field.","uniqueKey":"filter.metadata.items.[INDEX].oneOf.0.lte","typeLabel":"string\u003cdate-time>"}},"additionalProperties":false,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Every present condition must hold. Field names are unique within a request; at most 16 predicates. Wrong types and reversed bounds return 422 invalid_query. Missing/mistyped source values do not match. Datetimes are normalized to UTC milliseconds (submillisecond digits are truncated).","required":["field","gte"],"properties":{"field":{"type":"string","pattern":"^(metadata\\.)?[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.field","typeLabel":"string"},"gte":{"type":"string","format":"date-time","description":"Inclusive lower datetime bound. Requires a datetime field.","isRequired":true,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.gte","typeLabel":"string\u003cdate-time>"},"any_of":{"type":"array","minItems":1,"maxItems":50,"items":{"oneOf":[{"type":"string","maxLength":200,"minLength":1,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.any_of.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","x-go-type":"float64","uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.any_of.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.any_of.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.any_of.items.[INDEX]","typeLabel":"string | number | boolean"},"description":"Exact equality (one value) or any-of equality. String-array fields match any element; values retain their declared type. Datetime equality uses RFC3339 strings.","uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.any_of","typeLabel":"(string | number | boolean)[]"},"lte":{"type":"string","format":"date-time","description":"Inclusive upper datetime bound. Requires a datetime field.","uniqueKey":"filter.metadata.items.[INDEX].oneOf.1.lte","typeLabel":"string\u003cdate-time>"}},"additionalProperties":false,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"Every present condition must hold. Field names are unique within a request; at most 16 predicates. Wrong types and reversed bounds return 422 invalid_query. Missing/mistyped source values do not match. Datetimes are normalized to UTC milliseconds (submillisecond digits are truncated).","required":["field","lte"],"properties":{"field":{"type":"string","pattern":"^(metadata\\.)?[a-z][a-z0-9_]{0,63}$","isRequired":true,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.field","typeLabel":"string"},"lte":{"type":"string","format":"date-time","description":"Inclusive upper datetime bound. Requires a datetime field.","isRequired":true,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.lte","typeLabel":"string\u003cdate-time>"},"any_of":{"type":"array","minItems":1,"maxItems":50,"items":{"oneOf":[{"type":"string","maxLength":200,"minLength":1,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.any_of.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","x-go-type":"float64","uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.any_of.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.any_of.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.any_of.items.[INDEX]","typeLabel":"string | number | boolean"},"description":"Exact equality (one value) or any-of equality. String-array fields match any element; values retain their declared type. Datetime equality uses RFC3339 strings.","uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.any_of","typeLabel":"(string | number | boolean)[]"},"gte":{"type":"string","format":"date-time","description":"Inclusive lower datetime bound. Requires a datetime field.","uniqueKey":"filter.metadata.items.[INDEX].oneOf.2.gte","typeLabel":"string\u003cdate-time>"}},"additionalProperties":false,"uniqueKey":"filter.metadata.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"filter.metadata.items.[INDEX]","typeLabel":"object"},"description":"ANDed typed filters. Common fields use metadata.language, metadata.published_at, metadata.source_type, metadata.source, metadata.author, metadata.subjects, metadata.tags, metadata.country and metadata.place. Other names require the filter role in the Corpus's effective retrieval mapping. Corpora missing a requested filter field are excluded and reported. A metadata-capable generation is required; rebuild older Corpora first (422 metadata_filter_unavailable).","uniqueKey":"filter.metadata","typeLabel":"object[]"}},"description":"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.","uniqueKey":"filter","typeLabel":"object"}},"required":["query","corpus_ids"],"description":"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.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"query":"\u003cstring>","corpus_ids":["\u003cstring>"],"mode":"hybrid","profile":"default","limit":10,"evaluation_plugin":"\u003cstring>","evaluation_space":"\u003cstring>","filter":{"source_namespaces":["\u003cstring>"],"record_ids":["\u003cstring>"],"version_ids":["\u003cstring>"],"metadata":[{"field":"\u003cstring>","any_of":["\u003cstring>"],"gte":"2023-11-07T05:31:56Z","lte":"2023-11-07T05:31:56Z"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"7d21a368-db8f-48ec-9555-3773fa1c216a":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"record_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].record_id","typeLabel":"string"},"version_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].version_id","typeLabel":"string"},"part_key":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].part_key","typeLabel":"string"},"segment_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].segment_id","typeLabel":"string"},"segmentation_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].segmentation_id","typeLabel":"string"},"projection_generation_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].projection_generation_id","typeLabel":"string"},"rank":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].rank","typeLabel":"integer"},"excerpt":{"type":"object","additionalProperties":false,"properties":{"text":{"type":"string","maxLength":4096,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].excerpt.text","typeLabel":"string"},"start":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].excerpt.start","typeLabel":"integer"},"end":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].excerpt.end","typeLabel":"integer"},"coordinate_system":{"type":"string","enum":["unicode_codepoint"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].excerpt.coordinate_system","typeLabel":"enum\u003cstring>"}},"required":["text","start","end","coordinate_system"],"description":"Exact canonical normalized Part text slice [start,end), using Unicode code points, not UTF-8 bytes or UTF-16 units. End must be >= start and end-start must equal the excerpt code-point length. Bounds are checked against the referenced immutable Part. No synthetic highlights or rewritten snippets.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].excerpt","typeLabel":"object"},"availability":{"type":"object","additionalProperties":false,"properties":{"state":{"type":"string","enum":["materialized","building_baseline","retrieval_ready","quarantined"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].availability.state","typeLabel":"enum\u003cstring>"},"is_current":{"type":"boolean","isRequired":true,"uniqueKey":"\\items.items.[INDEX].availability.is_current","typeLabel":"boolean"},"searchable":{"type":"boolean","isRequired":true,"uniqueKey":"\\items.items.[INDEX].availability.searchable","typeLabel":"boolean"}},"required":["state","is_current","searchable"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].availability","typeLabel":"object"},"embedding_artifact_id":{"type":"string","minLength":1,"uniqueKey":"\\items.items.[INDEX].embedding_artifact_id","typeLabel":"string"},"vector_space_id":{"type":"string","minLength":1,"conditionalRequirements":[{"when":[[{"property":"embedding_artifact_id"}]]}],"uniqueKey":"\\items.items.[INDEX].vector_space_id","typeLabel":"string"},"passage_text":{"type":"string","maxLength":16384,"description":"Exact packed passage text used for the hit, when source-range metadata is available.","uniqueKey":"\\items.items.[INDEX].passage_text","typeLabel":"string"},"source_excerpts":{"type":"array","maxItems":256,"items":{"type":"object","additionalProperties":false,"properties":{"part_key":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].source_excerpts.items.[INDEX].part_key","typeLabel":"string"},"text":{"type":"string","maxLength":4096,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].source_excerpts.items.[INDEX].text","typeLabel":"string"},"start":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].source_excerpts.items.[INDEX].start","typeLabel":"integer"},"end":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].source_excerpts.items.[INDEX].end","typeLabel":"integer"},"coordinate_system":{"type":"string","enum":["unicode_codepoint"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].source_excerpts.items.[INDEX].coordinate_system","typeLabel":"enum\u003cstring>"}},"required":["part_key","text","start","end","coordinate_system"],"uniqueKey":"\\items.items.[INDEX].source_excerpts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].source_excerpts","typeLabel":"object[]"},"explanation":{"type":"string","minLength":1,"maxLength":1024,"description":"Why the retrieval plugin ranked this hit here, when it says so.","uniqueKey":"\\items.items.[INDEX].explanation","typeLabel":"string"}},"required":["record_id","version_id","part_key","segment_id","segmentation_id","projection_generation_id","rank","excerpt","availability"],"description":"One authorized segment hit. Rehydrate from canonical storage and recheck Organization/Corpus access, currentness, quarantine and Tombstone before returning. Rank is contiguous and one-based after hydration/filtering. Projection Generation, segmentation, segment and optional Embedding Artifact/Vector Space are logical durable IDs, not physical collection names or workflow IDs. Embedding references are omitted when that segment has lexical coverage only. They do not assert that the dense branch contributed to its rank. All hits inherit the response retrieval profile. Raw scores/explainScore stay internal.","conditionallyRequiredProperties":{"vector_space_id":[{"when":[[{"property":"embedding_artifact_id"}]]}]},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"maxItems":50,"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"},"retrieval_profile":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"retrieval_profile.name","typeLabel":"string"},"version":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"retrieval_profile.version","typeLabel":"string"},"degraded":{"type":"array","minItems":1,"maxItems":16,"items":{"type":"object","additionalProperties":false,"properties":{"reason":{"type":"string","enum":["vectors_unavailable"],"description":"No usable served vector route or current coverage confirms no vectors; keywords remain available. Stale and unknown counts do not disable current routes.","isRequired":true,"uniqueKey":"retrieval_profile.degraded.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"corpus_ids":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"type":"string","minLength":1,"uniqueKey":"retrieval_profile.degraded.items.[INDEX].corpus_ids.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"retrieval_profile.degraded.items.[INDEX].corpus_ids","typeLabel":"string[]"}},"required":["reason","corpus_ids"],"uniqueKey":"retrieval_profile.degraded.items.[INDEX]","typeLabel":"object"},"description":"Omitted when fully served. Ordinary hybrid searches report the authorized, non-excluded Corpora whose vector half is unavailable and whose results use keywords. Present even when no documents match.","uniqueKey":"retrieval_profile.degraded","typeLabel":"object[]"}},"required":["name","version"],"description":"Resolved retrieval profile identity. Name is the requested short or full name (default when the request named none). Version identifies what ranked as plugin:\u003cplugin id>@\u003cversion>/\u003cprofile>, naming the retrieval plugin, its version and the profile.","isRequired":true,"uniqueKey":"retrieval_profile","typeLabel":"object"},"excluded_corpora":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"corpus_id":{"type":"string","isRequired":true,"uniqueKey":"excluded_corpora.items.[INDEX].corpus_id","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","uniqueKey":"excluded_corpora.items.[INDEX].fields.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"excluded_corpora.items.[INDEX].fields","typeLabel":"string[]"}},"required":["corpus_id","fields"],"description":"Authorized Corpus excluded because these logical fields are not declared with the filter role. Common metadata fields are always declared.","uniqueKey":"excluded_corpora.items.[INDEX]","typeLabel":"object"},"uniqueKey":"excluded_corpora","typeLabel":"object[]"},"usage":{"type":"object","additionalProperties":false,"properties":{"rounds":{"type":"integer","minimum":1,"maximum":3,"isRequired":true,"uniqueKey":"usage.rounds","typeLabel":"integer"},"elapsed_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.elapsed_ms","typeLabel":"integer"},"paid_calls":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.paid_calls","typeLabel":"integer"},"cost_cents":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"usage.cost_cents","typeLabel":"number"},"profiles":{"type":"array","maxItems":65,"items":{"type":"object","additionalProperties":false,"required":["profile","plugin_version","rounds","paid_calls","cost_cents"],"properties":{"profile":{"type":"string","description":"Full plugin/profile name.","isRequired":true,"uniqueKey":"usage.profiles.items.[INDEX].profile","typeLabel":"string"},"plugin_version":{"type":"string","isRequired":true,"uniqueKey":"usage.profiles.items.[INDEX].plugin_version","typeLabel":"string"},"rounds":{"type":"integer","minimum":1,"maximum":3,"isRequired":true,"uniqueKey":"usage.profiles.items.[INDEX].rounds","typeLabel":"integer"},"paid_calls":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.profiles.items.[INDEX].paid_calls","typeLabel":"integer"},"cost_cents":{"type":"number","minimum":0,"isRequired":true,"uniqueKey":"usage.profiles.items.[INDEX].cost_cents","typeLabel":"number"}},"description":"Own usage of one profile invocation; aggregate SearchUsage totals include every level.","uniqueKey":"usage.profiles.items.[INDEX]","typeLabel":"object"},"description":"Each profile invocation, outer first; paid calls and cost belong to that plugin only.","uniqueKey":"usage.profiles","typeLabel":"object[]"},"phases":{"type":"object","additionalProperties":false,"properties":{"routing_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.phases.routing_ms","typeLabel":"integer"},"coverage_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.phases.coverage_ms","typeLabel":"integer"},"plugin_rounds_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.phases.plugin_rounds_ms","typeLabel":"integer"},"query_encoding_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.phases.query_encoding_ms","typeLabel":"integer"},"index_query_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.phases.index_query_ms","typeLabel":"integer"},"hydration_ms":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"usage.phases.hydration_ms","typeLabel":"integer"}},"required":["routing_ms","coverage_ms","plugin_rounds_ms","query_encoding_ms","index_query_ms","hydration_ms"],"description":"Milliseconds a search spent in each phase. routing_ms authorizes the request and routes it to projection generations; coverage_ms reads the vector spaces and their coverage; plugin_rounds_ms waits for the retrieval plugin's rounds; query_encoding_ms encodes the query with the plugin that owns each vector space, 0 when no candidate request needs a vector; index_query_ms queries the index; hydration_ms rechecks and reads candidates from canonical storage. The phases do not add up to elapsed_ms, which also counts the engine's own work between them.","uniqueKey":"usage.phases","typeLabel":"object"}},"required":["rounds","elapsed_ms","paid_calls","cost_cents"],"description":"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.","uniqueKey":"usage","typeLabel":"object"}},"required":["items","retrieval_profile"],"description":"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.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"items":[{"record_id":"\u003cstring>","version_id":"\u003cstring>","part_key":"\u003cstring>","segment_id":"\u003cstring>","segmentation_id":"\u003cstring>","projection_generation_id":"\u003cstring>","rank":2,"excerpt":{"text":"\u003cstring>","start":1,"end":1,"coordinate_system":"unicode_codepoint"},"availability":{"state":"materialized","is_current":true,"searchable":true},"embedding_artifact_id":"\u003cstring>","vector_space_id":"\u003cstring>","passage_text":"\u003cstring>","source_excerpts":[{"part_key":"\u003cstring>","text":"\u003cstring>","start":1,"end":1,"coordinate_system":"unicode_codepoint"}],"explanation":"\u003cstring>"}],"retrieval_profile":{"name":"\u003cstring>","version":"\u003cstring>","degraded":[{"reason":"vectors_unavailable","corpus_ids":["\u003cstring>"]}]},"excluded_corpora":[{"corpus_id":"\u003cstring>","fields":["\u003cstring>"]}],"usage":{"rounds":2,"elapsed_ms":1,"paid_calls":1,"cost_cents":1,"profiles":[{"profile":"\u003cstring>","plugin_version":"\u003cstring>","rounds":2,"paid_calls":1,"cost_cents":1}],"phases":{"routing_ms":1,"coverage_ms":1,"plugin_rounds_ms":1,"query_encoding_ms":1,"index_query_ms":1,"hydration_ms":1}}}}},"exampleType":"generated"}},"exampleType":"generated"},"ce8373f4-47d4-4822-beae-263c3b9f93bc":{"description":"Structured error; 400 malformed, 401 unauthenticated, 403 unauthorized scope/action, 404 absent/inaccessible, 409 idempotency conflict, 422 unsupported_profile, query_too_long (the query is over the profile's or the vector space owner's length limit; the message names it), unsupported_search or source_filter_unavailable, 502 retrieval_plugin_invalid (the retrieval plugin broke its contract, for example ranked a segment the engine never served it), 503 model_unavailable (the query encoding model could not answer) or search_unavailable (another search dependency is unavailable), 504 search_deadline_exceeded (the retrieval plugin's rounds outran the profile's hard bound, four times max_latency_ms; a dependency that does not answer in time is 503). At search capacity, 503 search_unavailable includes Retry-After; retry only after that delay.","headers":{"Retry-After":{"description":"Present when search capacity is full; minimum delay in seconds before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"request_id":{"type":"string","description":"Bounded caller X-Request-ID, or an engine-generated correlation ID.","uniqueKey":"request_id","typeLabel":"string"},"trace_id":{"type":"string","description":"W3C trace ID when a trace context is present.","uniqueKey":"trace_id","typeLabel":"string"},"span_id":{"type":"string","description":"W3C span ID of the API handler when a trace context is present.","uniqueKey":"span_id","typeLabel":"string"},"field":{"type":"string","minLength":1,"description":"JSON Pointer (RFC 6901) to the request member that caused a 422, when known (for example /config/url or /credential/secret/token on connector commands).","uniqueKey":"field","typeLabel":"string"},"resync_url":{"type":"string","format":"uri-reference","uniqueKey":"resync_url","typeLabel":"string\u003curi-reference>"}},"required":["code","message","retryable"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"request_id":"\u003cstring>","trace_id":"\u003cstring>","span_id":"\u003cstring>","field":"\u003cstring>","resync_url":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"da9c3b19-c354-4069-aa95-1130425613d3":{"ApiKey":{"type":"http","scheme":"bearer","description":"API key, not necessarily a JWT. Server derives Organization, permitted actions and Corpus scope; every resource access is authorized.","scopes":[],"schemeName":"ApiKey"}}},"servers":{},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key, not necessarily a JWT. Server derives Organization, permitted actions and Corpus scope; every resource access is authorized.","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key, not necessarily a JWT. Server derives Organization, permitted actions and Corpus scope; every resource access is authorized.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"thevibecompany","siteName":"Quivr","title":"Search records - Quivr","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-13T09:57:33.191Z","originalFileLocation":"api-reference/search/search-records.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Quivr\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/thevibecompany/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/thevibecompany/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/thevibecompany/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/thevibecompany/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Search records - Quivr\">\u003cmeta data-mint-head property=\"og:description\" content=\"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Quivr\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://thevibecompany.mintlify.site/_mintlify/api/og/v2?division=Search\u0026amp;title=Search+records\u0026amp;description=Resolve+the+requested+profile%2C+compile+mandatory+Corpus%2FOrganization+prefilters+and+any+requested+filter%2C+obtain+candidates%2C+then+canonically+hydrate+and+reauth\u0026amp;theme=023e5d222c667e5b3829d1ff\u0026amp;signature=80ff1490fe4e33bea7fccd0823e6f416024860a166055b7f4a8af0b3acd3a22b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Search records - Quivr\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://thevibecompany.mintlify.site/_mintlify/api/og/v2?division=Search\u0026amp;title=Search+records\u0026amp;description=Resolve+the+requested+profile%2C+compile+mandatory+Corpus%2FOrganization+prefilters+and+any+requested+filter%2C+obtain+candidates%2C+then+canonically+hydrate+and+reauth\u0026amp;theme=023e5d222c667e5b3829d1ff\u0026amp;signature=80ff1490fe4e33bea7fccd0823e6f416024860a166055b7f4a8af0b3acd3a22b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/thevibecompany/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Quivr\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5b3fd6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/search/search-records.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.quivr.thevibecompany.co/#organization\",\"name\":\"Quivr\",\"url\":\"https://docs.quivr.thevibecompany.co\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.quivr.thevibecompany.co#website\",\"name\":\"Quivr\",\"url\":\"https://docs.quivr.thevibecompany.co\",\"publisher\":{\"@id\":\"https://docs.quivr.thevibecompany.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records#webpage\",\"url\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records\",\"name\":\"Search records\",\"description\":\"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.\",\"dateModified\":\"2026-10-13T09:57:33.191Z\",\"isPartOf\":{\"@id\":\"https://docs.quivr.thevibecompany.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.quivr.thevibecompany.co/api-reference/version/read-the-running-quivr-build\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Search records\",\"item\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records#apireference\",\"headline\":\"Search records\",\"name\":\"Search records\",\"description\":\"Resolve the requested profile, compile mandatory Corpus/Organization prefilters and any requested filter, obtain candidates, then canonically hydrate and reauthorize every returned segment. Lexical-first records remain eligible without embeddings; semantic-only queries require vector coverage. Ordinary hybrid searches use keywords for Corpora whose served vectors are unavailable, reporting their ids in retrieval_profile.degraded. Other Corpora keep their hybrid ranking. Explicit semantic requests remain 422 unsupported_search when vector search cannot run. Unknown coverage alone does not disable a routed space. Profile selection does not change access/currentness rules. When a retrieval plugin is pinned, it ranks. It asks the engine for candidates in up to three rounds and returns its ranking, which may hold only candidates the engine served in this search, each already authorized and hydrated. Each API process admits at most 64 active searches across callers. At capacity it immediately returns retryable 503 search_unavailable with Retry-After before storage or plugin work. A query encoding model that cannot answer returns retryable 503 model_unavailable, including the legacy inference service and the ingestion plugin that owns the requested vector space.\",\"url\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records\",\"mainEntityOfPage\":{\"@id\":\"https://docs.quivr.thevibecompany.co/api-reference/search/search-records#webpage\"},\"dateModified\":\"2026-10-13T09:57:33.191Z\",\"publisher\":{\"@id\":\"https://docs.quivr.thevibecompany.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.quivr.thevibecompany.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Quivr\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Quivr\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/search/search-records.md","siteName":"Quivr","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Reference","groups":[{"group":"Quivr 2","pages":[{"title":"Versions and compatibility","href":"/reference/compatibility"},{"title":"Known limits","href":"/reference/known-limits"}]},{"group":"HTTP API","pages":[{"title":"API overview","href":"/api-reference/overview"}]},{"group":"Endpoints","pages":[{"group":"Version","pages":[{"title":"Read the running Quivr build","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/version","href":"/api-reference/version/read-the-running-quivr-build"}]},{"group":"Records","pages":[{"title":"List records","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/records","href":"/api-reference/records/list-records"},{"title":"Ingest record","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/records","href":"/api-reference/records/ingest-record"},{"title":"Count records","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/records/count","href":"/api-reference/records/count-records"},{"title":"Ingest batch","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/records/batch","href":"/api-reference/records/ingest-batch"},{"title":"Withdraw record","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/records/withdrawals","href":"/api-reference/records/withdraw-record"},{"title":"Get record","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/records/{record_id}","href":"/api-reference/records/get-record"},{"title":"Get version","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/records/{record_id}/versions/{version_id}","href":"/api-reference/records/get-version"}]},{"group":"Facets","pages":[{"title":"Count facets","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/facets","href":"/api-reference/facets/count-facets"}]},{"group":"Corpora","pages":[{"title":"Get corpus stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/corpora/{corpus_id}/stats","href":"/api-reference/corpora/get-corpus-stats"},{"title":"List corpora","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/corpora","href":"/api-reference/corpora/list-corpora"},{"title":"Create corpus","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/corpora","href":"/api-reference/corpora/create-corpus"},{"title":"Get corpus","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/corpora/{corpus_id}","href":"/api-reference/corpora/get-corpus"},{"title":"Rename corpus","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v0/corpora/{corpus_id}","href":"/api-reference/corpora/rename-corpus"},{"title":"Archive corpus","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/corpora/{corpus_id}/archive","href":"/api-reference/corpora/archive-corpus"},{"title":"Unarchive corpus","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/corpora/{corpus_id}/unarchive","href":"/api-reference/corpora/unarchive-corpus"},{"title":"Configure retrieval","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v0/corpora/{corpus_id}/retrieval","href":"/api-reference/corpora/configure-retrieval"},{"title":"List vector spaces","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/corpora/{corpus_id}/vector-spaces","href":"/api-reference/corpora/list-vector-spaces"},{"title":"Rebuild corpus projection","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/corpora/{corpus_id}/rebuilds","href":"/api-reference/corpora/rebuild-corpus-projection"}]},{"group":"Ingestion receipts","pages":[{"title":"Get receipt","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/ingestion-receipts/{receipt_id}","href":"/api-reference/ingestion-receipts/get-receipt"}]},{"group":"Uploads","pages":[{"title":"Create upload","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/uploads","href":"/api-reference/uploads/create-upload"},{"title":"Confirm upload","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/uploads/{upload_id}/confirm","href":"/api-reference/uploads/confirm-upload"},{"title":"Get upload","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/uploads/{upload_id}","href":"/api-reference/uploads/get-upload"}]},{"group":"Blobs","pages":[{"title":"Get blob","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/blobs/{blob_id}","href":"/api-reference/blobs/get-blob"}]},{"group":"Operations","pages":[{"title":"Get operation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/operations/{operation_id}","href":"/api-reference/operations/get-operation"},{"title":"Cancel operation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/operations/{operation_id}/cancel","href":"/api-reference/operations/cancel-operation"},{"title":"Rerun operation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/operations/{operation_id}/rerun","href":"/api-reference/operations/rerun-operation"},{"title":"Pause operation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/operations/{operation_id}/pause","href":"/api-reference/operations/pause-operation"},{"title":"Resume operation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/operations/{operation_id}/resume","href":"/api-reference/operations/resume-operation"}]},{"group":"Changes","pages":[{"title":"Poll changes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/changes","href":"/api-reference/changes/poll-changes"},{"title":"Stream changes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/changes/stream","href":"/api-reference/changes/stream-changes"}]},{"group":"Saved queries","pages":[{"title":"Create saved query","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/saved-queries","href":"/api-reference/saved-queries/create-saved-query"},{"title":"Get saved query","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/saved-queries/{saved_query_id}","href":"/api-reference/saved-queries/get-saved-query"},{"title":"Get saved query version","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/saved-queries/{saved_query_id}/versions/{version_id}","href":"/api-reference/saved-queries/get-saved-query-version"},{"title":"Create saved query version","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/saved-queries/{saved_query_id}/versions","href":"/api-reference/saved-queries/create-saved-query-version"},{"title":"Delete saved query","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/saved-queries/{saved_query_id}/delete","href":"/api-reference/saved-queries/delete-saved-query"},{"title":"Rename saved query","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/saved-queries/{saved_query_id}/rename","href":"/api-reference/saved-queries/rename-saved-query"}]},{"group":"Subscriptions","pages":[{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/subscriptions","href":"/api-reference/subscriptions/list-subscriptions"},{"title":"Create subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscriptions","href":"/api-reference/subscriptions/create-subscription"},{"title":"Get subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/subscriptions/{subscription_id}","href":"/api-reference/subscriptions/get-subscription"},{"title":"Get subscription version","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/subscriptions/{subscription_id}/versions/{version_id}","href":"/api-reference/subscriptions/get-subscription-version"},{"title":"Create subscription version","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscriptions/{subscription_id}/versions","href":"/api-reference/subscriptions/create-subscription-version"},{"title":"Delete subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscriptions/{subscription_id}/delete","href":"/api-reference/subscriptions/delete-subscription"},{"title":"Disable subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscriptions/{subscription_id}/disable","href":"/api-reference/subscriptions/disable-subscription"},{"title":"Enable subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscriptions/{subscription_id}/enable","href":"/api-reference/subscriptions/enable-subscription"},{"title":"Rename subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscriptions/{subscription_id}/rename","href":"/api-reference/subscriptions/rename-subscription"}]},{"group":"Subscription previews","pages":[{"title":"Preview subscription","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/subscription-previews","href":"/api-reference/subscription-previews/preview-subscription"}]},{"group":"Matches","pages":[{"title":"List matches","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/matches","href":"/api-reference/matches/list-matches"},{"title":"Get match","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/matches/{match_id}","href":"/api-reference/matches/get-match"}]},{"group":"Deliveries","pages":[{"title":"Get delivery","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/deliveries/{delivery_id}","href":"/api-reference/deliveries/get-delivery"},{"title":"List delivery attempts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/deliveries/{delivery_id}/attempts","href":"/api-reference/deliveries/list-delivery-attempts"}]},{"group":"Connectors","pages":[{"title":"List connectors","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/connectors","href":"/api-reference/connectors/list-connectors"},{"title":"Create connector","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors","href":"/api-reference/connectors/create-connector"},{"title":"List push token metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/connectors/{connector_id}/tokens","href":"/api-reference/connectors/list-push-token-metadata"},{"title":"Issue a source-scoped push token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/tokens","href":"/api-reference/connectors/issue-a-source-scoped-push-token"},{"title":"Replace a push token with five minutes of overlap","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/tokens/{token_id}/rotate","href":"/api-reference/connectors/replace-a-push-token-with-five-minutes-of-overlap"},{"title":"Revoke a push token immediately","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v0/connectors/{connector_id}/tokens/{token_id}","href":"/api-reference/connectors/revoke-a-push-token-immediately"},{"title":"Answer a declared source challenge","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/connectors/{connector_id}/api/{path}","href":"/api-reference/connectors/answer-a-declared-source-challenge"},{"title":"Push data to a declared source route","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/api/{path}","href":"/api-reference/connectors/push-data-to-a-declared-source-route"},{"title":"Get connector","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/connectors/{connector_id}","href":"/api-reference/connectors/get-connector"},{"title":"Disable connector","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/disable","href":"/api-reference/connectors/disable-connector"},{"title":"Pause connector","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/pause","href":"/api-reference/connectors/pause-connector"},{"title":"Resume connector","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/resume","href":"/api-reference/connectors/resume-connector"},{"title":"Replace connector credential","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v0/connectors/{connector_id}/credential","href":"/api-reference/connectors/replace-connector-credential"},{"title":"Change connector schedule","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v0/connectors/{connector_id}/schedule","href":"/api-reference/connectors/change-connector-schedule"},{"title":"Request connector run","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connectors/{connector_id}/runs","href":"/api-reference/connectors/request-connector-run"}]},{"group":"Connector webhooks","pages":[{"title":"Relay connector challenge","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/connector-webhooks/{connector_id}","href":"/api-reference/connector-webhooks/relay-connector-challenge"},{"title":"Relay connector delivery","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/connector-webhooks/{connector_id}","href":"/api-reference/connector-webhooks/relay-connector-delivery"}]},{"group":"Connector kinds","pages":[{"title":"List connector kinds","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/connector-kinds","href":"/api-reference/connector-kinds/list-connector-kinds"}]},{"group":"Admin","pages":[{"title":"List audit events","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/audit","href":"/api-reference/admin/list-audit-events"},{"title":"List plugin registrations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/plugins","href":"/api-reference/admin/list-plugin-registrations"},{"title":"Register plugin","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/plugins","href":"/api-reference/admin/register-plugin"},{"title":"Get plugin registration","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/plugins/{registration_id}","href":"/api-reference/admin/get-plugin-registration"},{"title":"Activate plugin","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/plugins/{registration_id}/activate","href":"/api-reference/admin/activate-plugin"},{"title":"Get pipeline plan","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/plugins/plans/{plan_id}","href":"/api-reference/admin/get-pipeline-plan"},{"title":"List pipeline plans","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/plugins/plans","href":"/api-reference/admin/list-pipeline-plans"},{"title":"Request backfill","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/backfills","href":"/api-reference/admin/request-backfill"},{"title":"Promote vector space","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/spaces/{vector_space_id}/promote","href":"/api-reference/admin/promote-vector-space"},{"title":"Get queue backlog","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/queues","href":"/api-reference/admin/get-queue-backlog"},{"title":"List quarantined versions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/quarantine","href":"/api-reference/admin/list-quarantined-versions"},{"title":"Reprocess quarantine","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/quarantine/reprocess","href":"/api-reference/admin/reprocess-quarantine"},{"title":"Migrate subscription evaluators","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/subscriptions/evaluator-migrations","href":"/api-reference/admin/migrate-subscription-evaluators"},{"title":"List evaluation backlog","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/subscriptions/evaluation-backlog","href":"/api-reference/admin/list-evaluation-backlog"},{"title":"Retire evaluations","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/subscriptions/evaluation-retirements","href":"/api-reference/admin/retire-evaluations"},{"title":"Get evaluation retirement","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/subscriptions/evaluation-retirements/{retirement_id}","href":"/api-reference/admin/get-evaluation-retirement"},{"title":"Rollback pipeline plan","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/admin/plugins/plan/rollback","href":"/api-reference/admin/rollback-pipeline-plan"},{"title":"Get active pipeline plan","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/plugins/plan","href":"/api-reference/admin/get-active-pipeline-plan"},{"title":"List active plugins","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/active-plugins","href":"/api-reference/admin/list-active-plugins"},{"title":"List admin documents","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/documents","href":"/api-reference/admin/list-admin-documents"},{"title":"Get document timeline","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/documents/{version_id}/timeline","href":"/api-reference/admin/get-document-timeline"},{"title":"Count accepted and refused pushes per source instance","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/connector-pushes","href":"/api-reference/admin/count-accepted-and-refused-pushes-per-source-instance"},{"title":"Get plugin call stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/plugins","href":"/api-reference/admin/get-plugin-call-stats"},{"title":"Get search stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/searches","href":"/api-reference/admin/get-search-stats"},{"title":"Get step stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/steps","href":"/api-reference/admin/get-step-stats"},{"title":"Get received stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/received","href":"/api-reference/admin/get-received-stats"},{"title":"Get match stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/matches","href":"/api-reference/admin/get-match-stats"},{"title":"Get top queries","description":"The most frequent search queries of the key's Organization over the window, normalized (lowercased, white space collapsed, at most 200 characters) and counted per hour, each with its hourly counts. Query text is recorded only when the deployment sets observability.record_query_text; otherwise recording is false and the list is empty. Requires observability:read on a key that grants every Corpus.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/admin/stats/top-queries","href":"/api-reference/admin/get-top-queries"}]},{"group":"Search","pages":[{"title":"Search records","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v0/search","href":"/api-reference/search/search-records"},{"title":"List search profiles","description":"Every installed search profile, the profile aliased as default first, with full names, short names and budgets; the pinned retrieval plugin (core.retrieve unless another is pinned) declares them.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v0/search/profiles","href":"/api-reference/search/list-search-profiles"}]},{"group":"Webhooks","pages":[{"title":"Receive monitoring notification","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook monitoringNotification","href":"/api-reference/webhooks/receive-monitoring-notification"}]}]},{"group":"Command line","pages":[{"title":"Command-line reference","href":"/reference/cli"},{"title":"MCP reference","href":"/reference/mcp"}]},{"group":"Plugins","pages":[{"title":"Plugin manifest","href":"/reference/plugin-manifest"},{"title":"Plugin protocol","href":"/reference/plugin-protocol"}]},{"group":"Deployment","pages":[{"title":"Configuration","href":"/reference/configuration"}]}]}]},"basePath":"","title":"Search records - Quivr","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-NXj-Rqjv.js","utils-m0thOP-_.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D13EKcfm.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema--XTdfsEb.js","snippetPresets-D3s4lmAH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-ChURybxL.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DL8CiXq2.js","shallow-DI2-YB2E.js","getApiPlaygroundDisplay-DxbW7b_y.js","CodeSnippet-CiNYS0pP.js","CodeSnippets-BT87bThu.js","Page-DSpdRuhM.js","getPastedJson-F_g_IrFQ.js","icon-CCIG5BAs.js","MethodPill-DY3E0jwx.js","DuplicateIcon-BN88xnEg.js","createIcon-VCCc5HO5.js","DynamicMarkdown-CaSwclgK.js","SectionHeading-DXV8nWhc.js","axios-vUo_bRtp.js","Markdown-CV32Re6G.js","clsx-5ydLOnhV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-pFDdfjRe.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BUGO5bPJ.js"]}