Search API
Query across all platform entities with full-text, keyword, or semantic search.
Global Search
GET /search
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search query |
space_id | uuid | Yes | Scope to specific space |
mode | string | No | Search strategy: auto (default), keyword, or semantic |
entity_types | string | No | Comma-separated: products,issues,meetings,users |
limit | integer | No | Max results per type (default: 10) |
Example Request
curl -X GET "https://api.qarion.com/search?q=customer&space_id=SPACE_UUID&mode=auto" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Results are grouped by entity type:
{
"products": [
{
"id": "...",
"name": "Customer Events",
"description": "Raw event stream...",
"product_type": "table",
"score": 0.95
}
],
"issues": [
{
"id": "...",
"title": "Customer ID nulls",
"status": "open",
"score": 0.82
}
],
"meetings": [],
"users": [
{
"id": "...",
"name": "Customer Data Team",
"email": "customer-team@example.com",
"score": 0.75
}
]
}
Search Modes
The mode parameter controls the search strategy used:
| Mode | Description |
|---|---|
auto | (default) Uses keyword search and automatically adds semantic results when AI embeddings are configured |
keyword | Full-text keyword search only (Elasticsearch with PostgreSQL fallback) |
semantic | Vector-similarity search using AI embeddings — requires an embedding backend to be configured |
Keyword Search
curl -X GET "https://api.qarion.com/search?q=revenue+metrics&space_id=...&mode=keyword" \
-H "Authorization: Bearer YOUR_API_KEY"
Keyword search uses Elasticsearch fuzzy matching with field-weighted scoring:
| Field | Weight | Description |
|---|---|---|
| Name/Title | High | Primary identifier |
| Description | Medium | Summary text |
| Tags | Medium | Category labels |
| Documentation | Low | Long-form content |
Fuzzy matching handles typos: custmer → customer, anlytics → analytics.
Semantic Search
curl -X GET "https://api.qarion.com/search?q=tables+about+customer+spending&space_id=...&mode=semantic" \
-H "Authorization: Bearer YOUR_API_KEY"
Semantic search converts the query into a vector embedding and finds products whose metadata vectors are closest in meaning. This is useful for intent-based queries where exact keywords may not appear in the data.
Semantic search requires an embedding backend to be configured. Qarion defaults to the
localbackend (sentence-transformers) which works out of the box.
Highlighting
Keyword search results include highlighted matches (when available):
{
"name": "<em>Customer</em> Events",
"description": "Raw event stream for <em>customer</em> tracking"
}
Entity-Specific Search
Products Only
GET /search?q=metrics&space_id=...&entity_types=products
Multiple Types
GET /search?q=order&space_id=...&entity_types=products,issues
Search Performance
- Results are cached for 60 seconds
- Maximum 50 results per entity type
- For large result sets, use pagination via the catalog API
Related Endpoints
- Catalog API — For filtered product listing with pagination
- Issues API — For filtered issue queries