Skip to main content
The Search API provides a single REST endpoint for semantic search across vector databases. The endpoint converts a natural language query into an embedding vector, searches the vector store named in the URL, and returns the most similar results with relevance scores. Embedding and vector database connection details are stored in HashiCorp Vault and resolved server-side. Clients never send secret names — the server always uses its own configured secret names (in multi-tenant mode this enforces tenant isolation), so any secret-name fields in a request body are ignored.

Search a Vector Store

One endpoint serves all vector stores. The {store} path parameter selects the store:

Common Parameters

All stores share these request-body parameters: Plus the store’s container field from the table above (e.g. collection for Qdrant, className for Weaviate, table/schema for pgvector).

Common Response Format

The _score field indicates relevance (higher is more similar, normalized to 0–1 where applicable).

Error Responses

An unknown {store} value returns 400 Bad Request with a message naming the valid stores:
Other user-actionable errors also return 400 Bad Request with a plain-text message — most notably a vector dimension mismatch, which usually means the embedding provider was changed between ingest and query. Fix it by switching the embedding provider in Configuration to match the collection’s dimension, or by re-ingesting under the current provider. Only stores that are actually running and reachable can be searched successfully. Use GET /api/v1/vector-stores/available to discover which stores are live before searching — the UI’s Search tab uses this to gate its store dropdown. Unexpected server errors return 500 Internal Server Error.

Qdrant

Weaviate

The container field is className (PascalCase, default Documents).

Milvus

Chroma

pgvector

The container field is table, with an optional schema (default public).

Natural Language Query

Ask a question in plain English — the AI generates and executes a SQL query against PostgreSQL.
Returns the AI-generated SQL query and its results.

AI Answer (RAG)

Answer a question using AI based on provided context — typically used after a vector search to generate a natural language answer from retrieved chunks.
Returns the AI-generated answer based on the provided context.

Vault Secret Structure

These secrets are configured on the server (seeded by vault-init.sh and managed via the Configuration tab) — they are never passed in search requests.

Embedding Secret

Self-describing — the resolver reads provider, endpoint, model, apiKey, and (optionally) version from inside the secret. The server uses the secret named by ai.embedding.secretName (oss/embedding). See AI Configuration.
For Anthropic-only deployments, the bundled TEI sidecar serves bge-m3 and vault-init.sh seeds the embedding secret to point at it (provider: "tei", endpoint: "http://tei:80/v1/embeddings", model: "BAAI/bge-m3").

Vector Database Secrets

Each store has a server-configured secret resolved by store key: Qdrant:
Weaviate:
Milvus:
Chroma:
pgvector: