Skip to main content

Search API

Query across all platform entities with full-text, keyword, or semantic search.

GET /search

Query Parameters

ParameterTypeRequiredDescription
qstringYesSearch query
space_iduuidYesScope to specific space
modestringNoSearch strategy: auto (default), keyword, or semantic
entity_typesstringNoComma-separated: products,issues,meetings,users
limitintegerNoMax 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:

ModeDescription
auto(default) Uses keyword search and automatically adds semantic results when AI embeddings are configured
keywordFull-text keyword search only (Elasticsearch with PostgreSQL fallback)
semanticVector-similarity search using AI embeddings — requires an embedding backend to be configured
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:

FieldWeightDescription
Name/TitleHighPrimary identifier
DescriptionMediumSummary text
TagsMediumCategory labels
DocumentationLowLong-form content

Fuzzy matching handles typos: custmercustomer, anlyticsanalytics.

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 local backend (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"
}

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