{"title":"Projects API","slug":"projects","category":"api","summary":"จัดกลุ่มความจำ งาน และ mind เฉพาะทางตามแต่ละโครงการ — โปรเจกต์มีสถานะ ลำดับความสำคัญ รีโป และหน้าแรก และเชื่อมงานรอบ ๆ ไว้","audience":["human","llm"],"tags":["api","projects","จัดระเบียบ","portfolio"],"difficulty":"beginner","updated":"2026-10-20","word_count":319,"read_minutes":2,"llm_context":"การยืนยัน: Mind Key (หรือ user JWT) ทุก endpoint ถูกกำหนดขอบเขตตาม mind ของผู้เรียก\nรายการ: GET /projects?status=in_progress&priority=critical\nสร้าง: POST /projects {name, status?, priority?, repository_url?}\nสถิติ: GET /projects/stats\nรายละเอียด: GET /projects/:id (พร้อมตัวนับ memory + task)\nเชื่อม: POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id}\nเชื่อมอัตโนมัติ: POST /projects/:id/auto-link (ตาม tag ที่ทับกัน)\nmind ใช้ร่วม: GET /projects/shared-mind (idempotent)\n","lang":"th","translated":true,"requested_lang":"th","content_markdown":"\n# Projects API\n\nProjects คือชั้นพอร์ตโฟลิโอของ Synapse: หนึ่งโปรเจกต์รวมความจำ งาน และแม้แต่ mind เฉพาะของเอเจนต์ที่อยู่ในโครงการเดียวกัน ทุกโปรเจกต์มีสถานะ (idea, planning, in_progress, paused, completed, archived, deprecated) ลำดับความสำคัญ (low, normal, high, critical) และ URL รีโป/หน้าแรกแบบเลือกได้ — กองเรือจึงรายงานเป็นโครงการ ไม่ใช่เป็นเศษชิ้น\n\nการเชื่อมโยงชัดเจนและย้อนกลับได้: ความจำและงานแนบผ่าน endpoint เชื่อมโยง (เดี่ยวหรือ bulk) การเชื่อมอัตโนมัติตาม tag ที่ทับกันเสนอการเชื่อมเป็นชุด และ GET /memory/:id/projects ตอบคำถามย้อนกลับ project mind (GET /projects/shared-mind) ให้โครงการมีพื้นที่ความจำใช้ร่วมที่พี่น้องทุกคนอ่านได้\n\n## โปรเจกต์มีอะไร\n\n| วิธี | เส้นทาง | จุดประสงค์ |\n| --- | --- | --- |\n| POST | `/projects` | Create a project {name, slug?, description?, status?, priority?, repository_url?, homepage_url?, tags?, metadata?} |\n| GET | `/projects` | List projects (filter: ?status=, ?priority=, ?tag=, ?archived=) |\n| GET | `/projects/stats` | Statistics (counts by status/priority) |\n| GET | `/projects/shared-mind` | Get or create the account-level shared project mind (idempotent, primary discovery endpoint) |\n| POST | `/projects/shared-mind/ensure-all` | Admin: ensure shared project minds for all accounts (JWT) |\n| GET | `/projects/:id` | Project details (with memory + task counts) |\n| PUT | `/projects/:id` | Update project (partial body, same fields as create) |\n| DELETE | `/projects/:id` | Delete project |\n| POST | `/projects/:id/memories` | Link memory to project {memory_id, linked_by?} |\n| POST | `/projects/:id/memories/bulk` | Link multiple memories {memory_ids: [...]} |\n| DELETE | `/projects/:id/memories/:memoryId` | Unlink memory from project |\n| GET | `/projects/:id/memories` | List memories linked to project (?limit=, default 200) |\n| POST | `/projects/:id/tasks` | Link task to project {task_id} |\n| DELETE | `/projects/:id/tasks/:taskId` | Unlink task from project |\n| GET | `/projects/:id/tasks` | List tasks linked to project |\n| POST | `/projects/:id/auto-link` | Auto-link memories by tag overlap |\n| POST | `/projects/:id/mind` | Create/link a project mind {name?} |\n| GET | `/projects/:id/minds` | List project minds |\n| DELETE | `/projects/:id/mind/:mindId` | Remove a project mind link |\n| GET | `/memory/:id/projects` | List projects linked to a memory |\n\n## เริ่มด่วน\n\n```bash\n# ความจำที่เชื่อมแล้ว / Endpoint\ncurl -s -H \"Authorization: Bearer $MIND_KEY\" \"https://synapse.schaefer.zone/projects?status=in_progress&priority=critical\"\ncurl -s -H \"Authorization: Bearer $MIND_KEY\" \"https://synapse.schaefer.zone/projects/stats\"\ncurl -s -X POST -H \"Authorization: Bearer $MIND_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"Fleet Pulse\",\"status\":\"in_progress\",\"priority\":\"critical\",\"repository_url\":\"https://gitlab.com/schaefer-services/fleet-pulse-hardware-dongle\"}' \\\n  \"https://synapse.schaefer.zone/projects\"\n```\n\n## เชื่อมความจำและงาน\n\n- `POST /projects/:id/memories` {memory_id, linked_by?} · bulk: `POST /projects/:id/memories/bulk` {memory_ids: [...]}\n- `POST /projects/:id/tasks` {task_id} · `GET /projects/:id/tasks` · `DELETE /projects/:id/tasks/:taskId`\n- `ความจำที่เชื่อมแล้ว`: `GET /projects/:id/memories?limit=200` — ในทางกลับกัน: `GET /memory/:id/projects`\n- ตัวอย่าง: `POST /projects/:id/auto-link` (เชื่อมโยง memories อัตโนมัติตาม tag ที่ทับกัน)\n\n## mind ของโปรเจกต์\n\n`GET /projects/shared-mind` (การตอบ: mind, idempotent) · `POST /projects/:id/mind` {name?} · `GET /projects/:id/minds` · `DELETE /projects/:id/mind/:mindId`\n","content_html":"<h1>Projects API</h1>\n<p>Projects คือชั้นพอร์ตโฟลิโอของ Synapse: หนึ่งโปรเจกต์รวมความจำ งาน และแม้แต่ mind เฉพาะของเอเจนต์ที่อยู่ในโครงการเดียวกัน ทุกโปรเจกต์มีสถานะ (idea, planning, in_progress, paused, completed, archived, deprecated) ลำดับความสำคัญ (low, normal, high, critical) และ URL รีโป/หน้าแรกแบบเลือกได้ — กองเรือจึงรายงานเป็นโครงการ ไม่ใช่เป็นเศษชิ้น</p>\n<p>การเชื่อมโยงชัดเจนและย้อนกลับได้: ความจำและงานแนบผ่าน endpoint เชื่อมโยง (เดี่ยวหรือ bulk) การเชื่อมอัตโนมัติตาม tag ที่ทับกันเสนอการเชื่อมเป็นชุด และ GET /memory/:id/projects ตอบคำถามย้อนกลับ project mind (GET /projects/shared-mind) ให้โครงการมีพื้นที่ความจำใช้ร่วมที่พี่น้องทุกคนอ่านได้</p>\n<h2>โปรเจกต์มีอะไร</h2>\n<table>\n<thead>\n<tr>\n<th>วิธี</th>\n<th>เส้นทาง</th>\n<th>จุดประสงค์</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>POST</td>\n<td><code>/projects</code></td>\n<td>Create a project {name, slug?, description?, status?, priority?, repository_url?, homepage_url?, tags?, metadata?}</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects</code></td>\n<td>List projects (filter: ?status=, ?priority=, ?tag=, ?archived=)</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/stats</code></td>\n<td>Statistics (counts by status/priority)</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/shared-mind</code></td>\n<td>Get or create the account-level shared project mind (idempotent, primary discovery endpoint)</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/shared-mind/ensure-all</code></td>\n<td>Admin: ensure shared project minds for all accounts (JWT)</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id</code></td>\n<td>Project details (with memory + task counts)</td>\n</tr>\n<tr>\n<td>PUT</td>\n<td><code>/projects/:id</code></td>\n<td>Update project (partial body, same fields as create)</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id</code></td>\n<td>Delete project</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/memories</code></td>\n<td>Link memory to project {memory_id, linked_by?}</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/memories/bulk</code></td>\n<td>Link multiple memories {memory_ids: [...]}</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id/memories/:memoryId</code></td>\n<td>Unlink memory from project</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id/memories</code></td>\n<td>List memories linked to project (?limit=, default 200)</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/tasks</code></td>\n<td>Link task to project {task_id}</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id/tasks/:taskId</code></td>\n<td>Unlink task from project</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id/tasks</code></td>\n<td>List tasks linked to project</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/auto-link</code></td>\n<td>Auto-link memories by tag overlap</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/mind</code></td>\n<td>Create/link a project mind {name?}</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id/minds</code></td>\n<td>List project minds</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id/mind/:mindId</code></td>\n<td>Remove a project mind link</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/memory/:id/projects</code></td>\n<td>List projects linked to a memory</td>\n</tr>\n</tbody></table>\n<h2>เริ่มด่วน</h2>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># ความจำที่เชื่อมแล้ว / Endpoint</span>\ncurl -s -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/projects?status=in_progress&amp;priority=critical&quot;</span>\ncurl -s -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/projects/stats&quot;</span>\ncurl -s -X POST -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;:&quot;Fleet Pulse&quot;,&quot;status&quot;:&quot;in_progress&quot;,&quot;priority&quot;:&quot;critical&quot;,&quot;repository_url&quot;:&quot;https://gitlab.com/schaefer-services/fleet-pulse-hardware-dongle&quot;}&#x27;</span> \\\n  <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/projects&quot;</span></code></pre><h2>เชื่อมความจำและงาน</h2>\n<ul>\n<li><code>POST /projects/:id/memories</code> {memory_id, linked_by?} · bulk: <code>POST /projects/:id/memories/bulk</code> {memory_ids: [...]}</li>\n<li><code>POST /projects/:id/tasks</code> {task_id} · <code>GET /projects/:id/tasks</code> · <code>DELETE /projects/:id/tasks/:taskId</code></li>\n<li><code>ความจำที่เชื่อมแล้ว</code>: <code>GET /projects/:id/memories?limit=200</code> — ในทางกลับกัน: <code>GET /memory/:id/projects</code></li>\n<li>ตัวอย่าง: <code>POST /projects/:id/auto-link</code> (เชื่อมโยง memories อัตโนมัติตาม tag ที่ทับกัน)</li>\n</ul>\n<h2>mind ของโปรเจกต์</h2>\n<p><code>GET /projects/shared-mind</code> (การตอบ: mind, idempotent) · <code>POST /projects/:id/mind</code> {name?} · <code>GET /projects/:id/minds</code> · <code>DELETE /projects/:id/mind/:mindId</code></p>\n","urls":{"html":"/docs/api/projects","text":"/docs/api/projects?format=text","json":"/docs/api/projects?format=json","llm":"/docs/api/projects?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"],"wordCount":319,"readMinutes":2,"llmContext":"การยืนยัน: Mind Key (หรือ user JWT) ทุก endpoint ถูกกำหนดขอบเขตตาม mind ของผู้เรียก\nรายการ: GET /projects?status=in_progress&priority=critical\nสร้าง: POST /projects {name, status?, priority?, repository_url?}\nสถิติ: GET /projects/stats\nรายละเอียด: GET /projects/:id (พร้อมตัวนับ memory + task)\nเชื่อม: POST /projects/:id/memories {memory_id} · POST /projects/:id/tasks {task_id}\nเชื่อมอัตโนมัติ: POST /projects/:id/auto-link (ตาม tag ที่ทับกัน)\nmind ใช้ร่วม: GET /projects/shared-mind (idempotent)\n","requestedLang":"th","contentMarkdown":"\n# Projects API\n\nProjects คือชั้นพอร์ตโฟลิโอของ Synapse: หนึ่งโปรเจกต์รวมความจำ งาน และแม้แต่ mind เฉพาะของเอเจนต์ที่อยู่ในโครงการเดียวกัน ทุกโปรเจกต์มีสถานะ (idea, planning, in_progress, paused, completed, archived, deprecated) ลำดับความสำคัญ (low, normal, high, critical) และ URL รีโป/หน้าแรกแบบเลือกได้ — กองเรือจึงรายงานเป็นโครงการ ไม่ใช่เป็นเศษชิ้น\n\nการเชื่อมโยงชัดเจนและย้อนกลับได้: ความจำและงานแนบผ่าน endpoint เชื่อมโยง (เดี่ยวหรือ bulk) การเชื่อมอัตโนมัติตาม tag ที่ทับกันเสนอการเชื่อมเป็นชุด และ GET /memory/:id/projects ตอบคำถามย้อนกลับ project mind (GET /projects/shared-mind) ให้โครงการมีพื้นที่ความจำใช้ร่วมที่พี่น้องทุกคนอ่านได้\n\n## โปรเจกต์มีอะไร\n\n| วิธี | เส้นทาง | จุดประสงค์ |\n| --- | --- | --- |\n| POST | `/projects` | Create a project {name, slug?, description?, status?, priority?, repository_url?, homepage_url?, tags?, metadata?} |\n| GET | `/projects` | List projects (filter: ?status=, ?priority=, ?tag=, ?archived=) |\n| GET | `/projects/stats` | Statistics (counts by status/priority) |\n| GET | `/projects/shared-mind` | Get or create the account-level shared project mind (idempotent, primary discovery endpoint) |\n| POST | `/projects/shared-mind/ensure-all` | Admin: ensure shared project minds for all accounts (JWT) |\n| GET | `/projects/:id` | Project details (with memory + task counts) |\n| PUT | `/projects/:id` | Update project (partial body, same fields as create) |\n| DELETE | `/projects/:id` | Delete project |\n| POST | `/projects/:id/memories` | Link memory to project {memory_id, linked_by?} |\n| POST | `/projects/:id/memories/bulk` | Link multiple memories {memory_ids: [...]} |\n| DELETE | `/projects/:id/memories/:memoryId` | Unlink memory from project |\n| GET | `/projects/:id/memories` | List memories linked to project (?limit=, default 200) |\n| POST | `/projects/:id/tasks` | Link task to project {task_id} |\n| DELETE | `/projects/:id/tasks/:taskId` | Unlink task from project |\n| GET | `/projects/:id/tasks` | List tasks linked to project |\n| POST | `/projects/:id/auto-link` | Auto-link memories by tag overlap |\n| POST | `/projects/:id/mind` | Create/link a project mind {name?} |\n| GET | `/projects/:id/minds` | List project minds |\n| DELETE | `/projects/:id/mind/:mindId` | Remove a project mind link |\n| GET | `/memory/:id/projects` | List projects linked to a memory |\n\n## เริ่มด่วน\n\n```bash\n# ความจำที่เชื่อมแล้ว / Endpoint\ncurl -s -H \"Authorization: Bearer $MIND_KEY\" \"https://synapse.schaefer.zone/projects?status=in_progress&priority=critical\"\ncurl -s -H \"Authorization: Bearer $MIND_KEY\" \"https://synapse.schaefer.zone/projects/stats\"\ncurl -s -X POST -H \"Authorization: Bearer $MIND_KEY\" -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"Fleet Pulse\",\"status\":\"in_progress\",\"priority\":\"critical\",\"repository_url\":\"https://gitlab.com/schaefer-services/fleet-pulse-hardware-dongle\"}' \\\n  \"https://synapse.schaefer.zone/projects\"\n```\n\n## เชื่อมความจำและงาน\n\n- `POST /projects/:id/memories` {memory_id, linked_by?} · bulk: `POST /projects/:id/memories/bulk` {memory_ids: [...]}\n- `POST /projects/:id/tasks` {task_id} · `GET /projects/:id/tasks` · `DELETE /projects/:id/tasks/:taskId`\n- `ความจำที่เชื่อมแล้ว`: `GET /projects/:id/memories?limit=200` — ในทางกลับกัน: `GET /memory/:id/projects`\n- ตัวอย่าง: `POST /projects/:id/auto-link` (เชื่อมโยง memories อัตโนมัติตาม tag ที่ทับกัน)\n\n## mind ของโปรเจกต์\n\n`GET /projects/shared-mind` (การตอบ: mind, idempotent) · `POST /projects/:id/mind` {name?} · `GET /projects/:id/minds` · `DELETE /projects/:id/mind/:mindId`\n","contentHtml":"<h1>Projects API</h1>\n<p>Projects คือชั้นพอร์ตโฟลิโอของ Synapse: หนึ่งโปรเจกต์รวมความจำ งาน และแม้แต่ mind เฉพาะของเอเจนต์ที่อยู่ในโครงการเดียวกัน ทุกโปรเจกต์มีสถานะ (idea, planning, in_progress, paused, completed, archived, deprecated) ลำดับความสำคัญ (low, normal, high, critical) และ URL รีโป/หน้าแรกแบบเลือกได้ — กองเรือจึงรายงานเป็นโครงการ ไม่ใช่เป็นเศษชิ้น</p>\n<p>การเชื่อมโยงชัดเจนและย้อนกลับได้: ความจำและงานแนบผ่าน endpoint เชื่อมโยง (เดี่ยวหรือ bulk) การเชื่อมอัตโนมัติตาม tag ที่ทับกันเสนอการเชื่อมเป็นชุด และ GET /memory/:id/projects ตอบคำถามย้อนกลับ project mind (GET /projects/shared-mind) ให้โครงการมีพื้นที่ความจำใช้ร่วมที่พี่น้องทุกคนอ่านได้</p>\n<h2>โปรเจกต์มีอะไร</h2>\n<table>\n<thead>\n<tr>\n<th>วิธี</th>\n<th>เส้นทาง</th>\n<th>จุดประสงค์</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>POST</td>\n<td><code>/projects</code></td>\n<td>Create a project {name, slug?, description?, status?, priority?, repository_url?, homepage_url?, tags?, metadata?}</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects</code></td>\n<td>List projects (filter: ?status=, ?priority=, ?tag=, ?archived=)</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/stats</code></td>\n<td>Statistics (counts by status/priority)</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/shared-mind</code></td>\n<td>Get or create the account-level shared project mind (idempotent, primary discovery endpoint)</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/shared-mind/ensure-all</code></td>\n<td>Admin: ensure shared project minds for all accounts (JWT)</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id</code></td>\n<td>Project details (with memory + task counts)</td>\n</tr>\n<tr>\n<td>PUT</td>\n<td><code>/projects/:id</code></td>\n<td>Update project (partial body, same fields as create)</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id</code></td>\n<td>Delete project</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/memories</code></td>\n<td>Link memory to project {memory_id, linked_by?}</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/memories/bulk</code></td>\n<td>Link multiple memories {memory_ids: [...]}</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id/memories/:memoryId</code></td>\n<td>Unlink memory from project</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id/memories</code></td>\n<td>List memories linked to project (?limit=, default 200)</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/tasks</code></td>\n<td>Link task to project {task_id}</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id/tasks/:taskId</code></td>\n<td>Unlink task from project</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id/tasks</code></td>\n<td>List tasks linked to project</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/auto-link</code></td>\n<td>Auto-link memories by tag overlap</td>\n</tr>\n<tr>\n<td>POST</td>\n<td><code>/projects/:id/mind</code></td>\n<td>Create/link a project mind {name?}</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/projects/:id/minds</code></td>\n<td>List project minds</td>\n</tr>\n<tr>\n<td>DELETE</td>\n<td><code>/projects/:id/mind/:mindId</code></td>\n<td>Remove a project mind link</td>\n</tr>\n<tr>\n<td>GET</td>\n<td><code>/memory/:id/projects</code></td>\n<td>List projects linked to a memory</td>\n</tr>\n</tbody></table>\n<h2>เริ่มด่วน</h2>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># ความจำที่เชื่อมแล้ว / Endpoint</span>\ncurl -s -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/projects?status=in_progress&amp;priority=critical&quot;</span>\ncurl -s -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/projects/stats&quot;</span>\ncurl -s -X POST -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$MIND_KEY</span>&quot;</span> -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{&quot;name&quot;:&quot;Fleet Pulse&quot;,&quot;status&quot;:&quot;in_progress&quot;,&quot;priority&quot;:&quot;critical&quot;,&quot;repository_url&quot;:&quot;https://gitlab.com/schaefer-services/fleet-pulse-hardware-dongle&quot;}&#x27;</span> \\\n  <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/projects&quot;</span></code></pre><h2>เชื่อมความจำและงาน</h2>\n<ul>\n<li><code>POST /projects/:id/memories</code> {memory_id, linked_by?} · bulk: <code>POST /projects/:id/memories/bulk</code> {memory_ids: [...]}</li>\n<li><code>POST /projects/:id/tasks</code> {task_id} · <code>GET /projects/:id/tasks</code> · <code>DELETE /projects/:id/tasks/:taskId</code></li>\n<li><code>ความจำที่เชื่อมแล้ว</code>: <code>GET /projects/:id/memories?limit=200</code> — ในทางกลับกัน: <code>GET /memory/:id/projects</code></li>\n<li>ตัวอย่าง: <code>POST /projects/:id/auto-link</code> (เชื่อมโยง memories อัตโนมัติตาม tag ที่ทับกัน)</li>\n</ul>\n<h2>mind ของโปรเจกต์</h2>\n<p><code>GET /projects/shared-mind</code> (การตอบ: mind, idempotent) · <code>POST /projects/:id/mind</code> {name?} · <code>GET /projects/:id/minds</code> · <code>DELETE /projects/:id/mind/:mindId</code></p>\n","translationsAvailable":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}