# API Projects SUMMARY: Regroupe mémoires, tâches et minds dédiés par initiative — les projets portent statut, priorité, dépôt et page d’accueil, et relient le travail qui les entoure. KEY CONTEXT: Auth : Mind Key (ou JWT utilisateur). Tous les endpoints sont scopés au mind appelant. Liste : GET /projects?status=in_progress&priority=critical Créer : POST /projects {name, status?, priority?, repository_url?} Stats : GET /projects/stats Détails : GET /projects/:id (avec compteurs mémoires + tâches) Lier : POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id} Auto-liaison : POST /projects/:id/auto-link (par recouvrement de tags) Mind partagé : GET /projects/shared-mind (idempotent) API Projects Projects est la couche portefeuille de Synapse : un projet rassemble les mémoires, les tâches et même les minds d’agents dédiés qui appartiennent à une même initiative. Chaque projet porte un statut (idea, planning, inprogress, paused, completed, archived, deprecated), une priorité (low, normal, high, critical) et des URLs optionnelles de dépôt/page d’accueil — la flotte rend ainsi compte par initiative et non par fragment. La liaison est explicite et réversible : mémoires et tâches s’attachent via des endpoints de lien (unitaire ou bulk), l’auto-liaison par recouvrement de tags propose des liens à grande échelle, et GET /memory/:id/projects répond à la question inverse. Un project mind (GET /projects/shared-mind) donne à l’initiative son propre espace mémoire partagé, lisible par tous les siblings. Ce que contient un projet | Méthode | Chemin | But | | --- | --- | --- | | 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 | Démarrage rapide [CODE BLOCK] Lier mémoires et tâches - {memoryid, linkedby?} · bulk: {memoryids: [...]} - {taskid} · · - : — inversement : - Exemple: (auto-lie les mémoires par recouvrement de tags) Minds de projet (réponse: mind, idempotent) · {name?} · ·