Search Reference
Keyword, semantic, hybrid search, and RAG context endpoints.
Base path: /api/v1/search/
All results respect caller permissions.
GET /api/v1/search#
Keyword search.
Query:
| Param | Notes |
|---|---|
q |
Query string |
share_id |
Scope to one share |
file_type |
MIME pattern |
recursive |
Default true |
limit |
1–100, default 50 |
offset |
Response: {query, results: [...], total, has_more}. Each result:
1 2 3 4 5 6 7 8 9 10 11 12 | |
POST /api/v1/search#
Same as GET with a JSON body.
Body: query, share_id, mime_type, limit, offset.
GET /api/v1/search/semantic#
Vector search. Requires tenant vectorization to be configured.
Query:
| Param | Notes |
|---|---|
q |
Natural-language query |
share_id |
Scope to one share |
limit |
1–50, default 20 |
Response: {semantic_results: [...]}. Each result:
1 2 3 4 5 6 7 8 9 10 11 12 | |
POST /api/v1/search/semantic#
Same as GET with richer filters.
Body:
| Field | Notes |
|---|---|
query |
Required |
share_id |
|
file_types |
Array of MIME strings |
path_prefix |
Match path prefix |
limit |
POST /api/v1/search/hybrid#
Blend BM25 and vector scores.
Body:
| Field | Notes |
|---|---|
query |
Required |
share_id |
|
file_types |
Array of MIMEs |
limit |
|
alpha |
0.0–1.0, blend factor (0 = BM25 only, 1 = vector only), default 0.7 |
Response: {hybrid_results: [...]}. Shape like semantic.
POST /api/v1/search/keyword#
BM25 keyword search POST variant.
Body: query, share_id, file_types, limit.
POST /api/v1/search/context#
RAG context — returns search results pre-formatted as an LLM context string.
Body:
| Field | Notes |
|---|---|
query |
Required |
share_id |
|
file_types |
|
max_tokens |
Token cap for the context string |
max_chunks |
Max chunks included |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
GET /api/v1/search/index-status/{file_id}#
Check indexing status for one file.
Required permission: READ.
Response:
1 2 3 4 5 6 | |
GET /api/v1/search/stats#
Tenant-wide index statistics.
Response:
1 2 3 4 | |
GET /api/v1/search/queue#
Vectorization queue status.
Query: limit (1–100, default 20).
Response:
1 2 3 4 5 6 7 | |
GET /api/v1/search/health#
Check vectorization subsystem health. No authentication.
Response:
1 2 3 4 5 6 | |
Error codes#
| Code | HTTP | When |
|---|---|---|
VALIDATION_ERROR |
422 | Missing/invalid parameters |
SERVICE_UNAVAILABLE |
503 | Weaviate or embedding provider down |
AUTHZ_PERMISSION_DENIED |
403 | No access to requested share |
Related#
- Search Guide
- Enterprise Reference — vectorization policies.