# Projects-API SUMMARY: Groepeert memories, taken en dedicated minds per initiatief — projecten dragen status, prioriteit, repository en homepage en koppelen het werk eromheen. KEY CONTEXT: Auth: Mind Key (of gebruikers-JWT). Alle endpoints zijn mind-scoped naar de aanroeper. Lijst: GET /projects?status=in_progress&priority=critical Aanmaken: POST /projects {name, status?, priority?, repository_url?} Statistiek: GET /projects/stats Details: GET /projects/:id (met memory- + task-counts) Koppelen: POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id} Auto-link: POST /projects/:id/auto-link (op tag-overlap) Shared mind: GET /projects/shared-mind (idempotent) Projects-API Projects is de portfoliolaag van Synapse: één project bundelt de memories, taken en zelfs dedicated agent-minds die bij één initiatief horen. Elk project draagt een status (idea, planning, inprogress, paused, completed, archived, deprecated), een prioriteit (low, normal, high, critical) en optionele repository-/homepage-URL’s — zo rapporteert de vloot per initiatief in plaats van per fragment. Koppelen is expliciet en omkeerbaar: memories en taken hangen via link-endpoints (enkelvoudig of bulk), auto-link op tag-overlap stelt koppelingen op schaal voor, en GET /memory/:id/projects beantwoordt de omgekeerde vraag. Een project-mind (GET /projects/shared-mind) geeft het initiatief zijn eigen gedeelde geheugenruimte, leesbaar voor elke sibling. Wat een project bevat | Methode | Pad | Doel | | --- | --- | --- | | 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 | Snelstart [CODE BLOCK] Memories en taken koppelen - {memoryid, linkedby?} · bulk: {memoryids: [...]} - {taskid} · · - : — omgekeerd: - Voorbeeld: (koppelt memories automatisch op basis van tag-overlap) Project-minds (antwoord: mind, idempotent) · {name?} · ·