# Projects-API SUMMARY: Gruppiere Memories, Tasks und eigene Minds pro Initiative — Projects tragen Status, Priorität, Repository und Homepage und verknüpfen die Arbeit darum. KEY CONTEXT: Auth: Mind Key (oder User-JWT). Alle Endpunkte mind-scoped über den Aufrufer. Liste: GET /projects?status=in_progress&priority=critical Anlegen: POST /projects {name, status?, priority?, repository_url?} Statistik: GET /projects/stats Details: GET /projects/:id (mit Memory- + Task-Counts) Verknüpfen: POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id} Auto-Link: POST /projects/:id/auto-link (per Tag-Überlappung) Shared Mind: GET /projects/shared-mind (idempotent) Projects-API Projects sind die Portfolio-Schicht von Synapse: Ein Project bündelt die Memories, Tasks und sogar eigenen Agenten-Minds, die zu einer Initiative gehören. Jedes Project trägt einen Status (idea, planning, inprogress, paused, completed, archived, deprecated), eine Priorität (low, normal, high, critical) und optionale Repository-/Homepage-URLs — so berichtet die Flotte pro Initiative statt pro Fragment. Verknüpfen ist explizit und umkehrbar: Memories und Tasks hängen über Link-Endpunkte an (einzeln oder bulk), Tag-Überlappungs-Auto-Links schlägt Massen-Verknüpfungen vor, und GET /memory/:id/projects beantwortet die Rückwärtsfrage. Ein Project-Mind (GET /projects/shared-mind) gibt einer Initiative ihren eigenen geteilten Memory-Raum, den alle Geschwister lesen können. Was ein Project hält | Methode | Pfad | Zweck | | --- | --- | --- | | 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 | Schnellstart [CODE BLOCK] Memories und Tasks verknüpfen - {memoryid, linkedby?} · bulk: {memoryids: [...]} - {taskid} · · - : — umgekehrt: - Beispiel: (Auto-Verknüpfung von Memories per Tag-Überlappung) Project-Minds (antwort: mind, idempotent) · {name?} · ·