"""Search endpoint - lexical / semantic / hybrid.""" from __future__ import annotations from fastapi import APIRouter, Depends from app.api.schemas import SearchRequest, SearchResponse from app.integrations.identity import SCOPE_DOCUMENTS_READ, require_scope router = APIRouter(prefix="/search", tags=["search"]) @router.post( "", response_model=SearchResponse, dependencies=[Depends(require_scope(SCOPE_DOCUMENTS_READ))], ) def search(req: SearchRequest) -> SearchResponse: from app.indexing.hybrid_search import run_search return run_search(req)