# API — Project Search (AI) > **Base URL:** `https://console.gisportal.id/api/v1` > **Auth:** `Authorization: Bearer ` + scope `project-search:read` > **Status:** Fase 4 — endpoint terdaftar, implementasi belum aktif --- ## GET /project-search/sources Daftar sumber data yang tersedia untuk pencarian. **Response 200:** ```json { "data": [ {"id": "project", "name": "Project Files", "path": "\\\\10.100.1.10\\project", "status": "not_indexed"}, {"id": "marketing", "name": "Marketing Files", "status": "not_indexed"} ] } ``` --- ## GET /project-search/index/status Status indeks per source. **Response 200:** ```json { "data": [ {"source": "project", "total_files": 0, "indexed_files": 0, "last_indexed_at": null} ] } ``` --- ## POST /project-search/ask Query natural language ke project files. **Request:** ```json { "query": "dokumen IGN untuk proyek Kendal", "sources": ["project"], "limit": 5 } ``` **Response 200 (saat aktif):** ```json { "answer": "Dokumen IGN untuk proyek Kendal tersedia di...", "sources": [ {"file": "\\\\10.100.1.10\\project\\2025\\Kendal\\IGN.pdf", "score": 0.95} ] } ``` --- ## Catatan Implementasi lengkap memerlukan: 1. Indexer worker di VM 10.100.1.26 (crawl + embed) 2. pgvector di `geonet_project_search` PostgreSQL 3. Ollama model `nomic-embed-text` untuk embedding 4. Ollama model `qwen2.5` untuk answer generation Lihat `server/ollama-nas-project-search-requirements.md` untuk requirement detail.