SKIP_AUTH development; authenticated instances require an
Authorization: Bearer <token> header. MCP tool availability depends on the
endpoint profile.
Search an exact source revision
UsePOST /v1/spaces/{space}/search or MCP search_scoped for explicit source
coverage and byte-addressed evidence:
read:doc:raw. The response contains
results, coverage and partial; evidence binds source/revision, exact quotes
and half-open UTF-8 byte spans. Rendered evidence also identifies its immutable
rendered revision. complete coverage with zero results can mean no match;
pending, stale, missing or withdrawn coverage does not establish that conclusion.
Choose lexical, semantic or hybrid explicitly. Lexical needs no model;
semantic requires an approved indexed profile and does not silently fall back
to lexical results. The retained search_docs route below has a different
compatibility contract and reports any fallback explicitly. Do not infer the
scoped API’s coverage from those legacy aggregate results.
Choose the question before the search
Results are limited to the caller’s authorized space and records. An empty
result is not proof that no matching record exists elsewhere or behind a
clearance boundary. Keep IDs from search results for subsequent reads.
Multiword document and assertion text queries apply the selected space and
soft-deletion conditions to the entire term expression, including result-count
queries. Term matching does not widen the authorized space.
Vector similarity search
Search documents using embedding-based similarity. The query is embedded using the space’s configured model and matched against document chunk vectors.- MCP Tool
- curl
search_docssearch_docs reports the path actually used in data.mode:
Inspect
data.items, which contain a document redaction envelope and a score.
Scores rank search results; they are not probabilities that the document’s
claims are true. A successful lexical fallback should not be described to a
reader as embedding-based evidence.
Governed embeddings bind an immutable provider/model/preprocessing profile.
The full-input preprocessing mode preserves all input through bounded segmentation
and aggregation; exact-input mode refuses an oversized input instead of silently
embedding a prefix. Provider limits or unavailable approvals can make semantic
search unavailable. A progressing worker is not proof that every pending record
already has an embedding. See processing approvals.
The REST route enters semantic mode only when both query and k are present.
Omit k for a lexical query. Its response shape differs from the MCP envelope;
see Documents.
Filter by collection
Organize documents into collections via metadata and filter searches to a specific collection.- MCP Tool
- REST limitation
search_docslist_doc_collections tool with an empty input ({}).
Search entities
Find entities by name, type, or free-text query. Filter byentity_type to narrow results.
- MCP Tool
- curl
search_entitiesUnified search with search_all
Search across entities, documents, sources, and relationships in a single call. Use theinclude array to restrict which record types are searched.
- MCP Tool
- REST alternatives
search_alldata contains separate buckets for each requested type.
For example, a no-match result can contain:
If you omit the
include parameter, all four types (entities, docs, sources, relationships) are searched.Search assertions
When the entity is already known, use its returned ID to retrieve resolved assertions directly. This avoids a broad text scan and preserves identity even when names have changed. On MCP, callsearch_assertions:
entity_id matches resolved subject or object links. To investigate unresolved
mentions, search text across subject, predicate, and object fields instead:
- MCP Tool
- curl
search_assertionsEntity context bundles
Get a bounded view of an entity for a profile or model context. MCP limits sections independently and applies the historical window to ended relationships/attributes, assertions, and events. Do not interpret this bundle as a complete relationship or evidence export. The REST context route has a separate, smaller response shape.- MCP Tool
- curl
get_entity_context_bundleENTITY_ID to the complete ID returned by search.
The bundle returns:
Advanced: include deleted records
Advanced: include deleted records
For MCP
search_docs and search_entities, set
filters.include_deleted: true; search_all uses top-level
include_deleted: true. REST search routes use top-level include_deleted. This is useful for audit trails.Turn a result into a supported answer
Theget_provenance convenience path below is restricted to trusted callers
entitled to all content in the space. It currently lacks per-record clearance
checks on returned evidence. For restricted readers, inspect claims and
documents through individually authorized read tools. See
security boundaries.
- Read the selected document or entity rather than answering from its title.
- For a graph relationship, use
get_provenanceon the Default profile to inspect its assertion and immutable source quote. - Check truth-slot and temporal state before describing a historical claim as current.
- Retain uncertainty when evidence is absent, redacted, or conflicting.
Next steps
- Building graphs — Create entities and relationships
- Truth slots — Inspect how assertions compete for ground truth
- Event streaming — Monitor system and domain events
