Skip to Content
APISearch
last verified · 2026-07-16

Search

This endpoint runs a graph-augmented semantic search over a project’s ingested knowledge-base content — the material a project has pulled in, not a full-text index of tickets or decisions. If you need to find tickets or decisions, use their own list endpoints with status/priority (for tickets) or limit/offset (for decisions) — there isn’t a single endpoint that searches across all three yet.

GET/api/v1/brain/search
NameTypeRequiredDefaultDescription
qstringYesThe search query.
top_kintegerNo10Max chunks to return (topk also accepted).
curl
curl "https://lumis.work/api/v1/brain/search?q=refund+policy&top_k=5" \ -H "Authorization: Bearer $LUMIS_MCP_TOKEN"
TypeScript
const res = await fetch( 'https://lumis.work/api/v1/brain/search?q=refund+policy&top_k=5', { headers: { authorization: `Bearer ${process.env.LUMIS_MCP_TOKEN}` } }, ); const { chunks, entities, edges } = await res.json();
Python
res = requests.get( "https://lumis.work/api/v1/brain/search", params={"q": "refund policy", "top_k": 5}, headers={"authorization": f"Bearer {os.environ['LUMIS_MCP_TOKEN']}"}, ) chunks = res.json()["chunks"]
{ "version": "v1", "tenant_id": "acme-co", "project_key": "acme-co", "venture_key": "acme-co", "query": "refund policy", "chunks": [ { "id": "c1a2...", "source_path": "docs/policies/refunds.md", "excerpt": "Refunds are honored within 30 days...", "score": 0.87, "importance_score": 0.6, "synced_at": "2026-07-01T09:00:00.000Z" } ], "entities": [], "edges": [] }

entities and edges come from the knowledge graph connected to whatever matched in chunks — they’re empty when nothing in the graph relates to the query. A missing q returns 400.