Search
Semantic search finds information by meaning, not just keyword matching. Search across all your data using natural language queries.
Natural-Language Search
POST /v1/search/natural
Send a plain-language query and get back the most relevant matches by
meaning. Scope is the caller's organization (taken from the access token);
pass project_id to narrow to one project.
Request Body
{
"query": "authentication flow for mobile users",
"limit": 10,
"project_id": "..."
} Response
{
"data": {
"query": "authentication flow for mobile users",
"chunkCount": 1,
"chunks": [
{
"document_id": "...",
"document_title": "Mobile Auth Spec",
"content": "...",
"similarity": 0.87
}
]
}
} Vector & Hybrid Search
Callers that already have a query embedding can search directly:
POST /v1/search/vector (similarity search) and
POST /v1/search/hybrid (similarity search with additional
reranking for improved relevance). Both accept an embedding
string, an optional threshold (minimum 0.55),
limit, and project_id.
How It Works
Search matches by meaning rather than exact keywords. Document content and entities are automatically indexed for semantic search.
When you search, your query is compared against indexed content and ranked by
relevance. Results with higher similarity scores are more
semantically relevant to your query. Matches are returned as document chunks.
Searchable Content
The search index covers the following content:
| Type | What is Indexed |
|---|---|
| Documents | Text content, chunked for precision |
| Entities | Name, description, and field values |
Search Tips
- Use natural language queries: describe what you are looking for in plain English
- Longer, more specific queries tend to produce better results
- Filter by
project_idto scope results to a specific project - Results with similarity scores above 0.7 are strongly relevant