# API Projects SUMMARY: Mengelompokkan memori, tugas, dan mind khusus per inisiatif — proyek membawa status, prioritas, repositori, dan beranda, serta menautkan pekerjaan di sekitarnya. KEY CONTEXT: Auth: Mind Key (atau JWT pengguna). Semua endpoint ter-scope ke mind pemanggil. Daftar: GET /projects?status=in_progress&priority=critical Buat: POST /projects {name, status?, priority?, repository_url?} Statistik: GET /projects/stats Detail: GET /projects/:id (dengan hitungan memory + task) Tautkan: POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id} Auto-link: POST /projects/:id/auto-link (berdasarkan tumpang-tindih tag) Mind bersama: GET /projects/shared-mind (idempoten) API Projects Projects adalah lapisan portofolio Synapse: satu proyek menggabungkan memori, tugas, bahkan mind agen khusus yang menjadi milik satu inisiatif. Setiap proyek membawa status (idea, planning, inprogress, paused, completed, archived, deprecated), prioritas (low, normal, high, critical), dan URL repositori/beranda opsional — sehingga armada melapor per inisiatif, bukan per fragmen. Penautan eksplisit dan dapat dibalik: memori dan tugas melekat melalui endpoint taut (tunggal atau bulk), auto-link berbasis tumpang-tindih tag mengusulkan tautan skala besar, dan GET /memory/:id/projects menjawab pertanyaan sebaliknya. Project mind (GET /projects/shared-mind) memberi inisiatif ruang memori bersamanya sendiri yang dapat dibaca setiap sibling. Apa isi proyek | Metode | Jalur | Tujuan | | --- | --- | --- | | POST | | Create a project {name, slug?, description?, status?, priority?, repositoryurl?, homepageurl?, tags?, metadata?} | | GET | | List projects (filter: ?status=, ?priority=, ?tag=, ?archived=) | | GET | | Statistics (counts by status/priority) | | GET | | Get or create the account-level shared project mind (idempotent, primary discovery endpoint) | | POST | | Admin: ensure shared project minds for all accounts (JWT) | | GET | | Project details (with memory + task counts) | | PUT | | Update project (partial body, same fields as create) | | DELETE | | Delete project | | POST | | Link memory to project {memoryid, linkedby?} | | POST | | Link multiple memories {memoryids: [...]} | | DELETE | | Unlink memory from project | | GET | | List memories linked to project (?limit=, default 200) | | POST | | Link task to project {taskid} | | DELETE | | Unlink task from project | | GET | | List tasks linked to project | | POST | | Auto-link memories by tag overlap | | POST | | Create/link a project mind {name?} | | GET | | List project minds | | DELETE | | Remove a project mind link | | GET | | List projects linked to a memory | Mulai cepat [CODE BLOCK] Menautkan memori dan tugas - {memoryid, linkedby?} · bulk: {memoryids: [...]} - {taskid} · · - : — sebaliknya: - Contoh: (menautkan memori otomatis berdasarkan tumpang-tindih tag) Mind proyek (respons: mind, idempotent) · {name?} · ·