{"title":"Tasks API","slug":"tasks","category":"api","summary":"การจัดการ task สำหรับ LLM agent — สร้าง, รายการ, อัปเดต, ทำเสร็จ, ลบ task พร้อม priority","audience":["human","llm"],"tags":["api","tasks","todo","management"],"difficulty":"beginner","updated":"2026-06-27","word_count":111,"read_minutes":1,"llm_context":"Auth: Mind Key\nList: GET /mind/tasks?status=pending|in_progress|done|cancelled|all\nCreate: POST /mind/task { title, description?, priority?, due_at? }\nUpdate: PUT /mind/task/:id { title?, description?, priority?, status?, due_at? }\nComplete: GET /mind/task/:id/complete\nDelete: GET /mind/task/:id/delete\nPriorities: low, normal, high, critical\nStatuses: pending, in_progress, done, cancelled\nPattern: create tasks for multi-step work, update status as you progress\n","lang":"th","translated":true,"requested_lang":"th","content_markdown":"\n# Tasks API\n\nTasks API ให้ LLM agent วิธีที่มีโครงสร้างในการติดตามงานหลายขั้นตอน task อยู่ใน scope ของ mind ปัจจุบันและคงอยู่ข้าม session ทำให้ agent ทำงานต่อจากที่ค้างไว้ได้\n\n## Endpoints\n\n### GET /mind/tasks\n\nรายการ task ทั้งหมดของ mind ปัจจุบัน\n\n```bash\n# All tasks\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/tasks\n\n# Filter by status\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/tasks?status=pending\"\n```\n\nResponse:\n\n```json\n{\n  \"tasks\": [\n    {\n      \"id\": \"task_001\",\n      \"title\": \"Deploy v1.5.0\",\n      \"description\": \"Push to production after CI green\",\n      \"priority\": \"high\",\n      \"status\": \"in_progress\",\n      \"due_at\": \"2026-06-28T...\",\n      \"created_at\": \"2026-06-27T...\"\n    }\n  ]\n}\n```\n\n### POST /mind/task\n\nสร้าง task ใหม่\n\n```bash\ncurl -X POST https://synapse.schaefer.zone/mind/task \\\n  -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"title\": \"Update documentation\",\n    \"description\": \"Add v1.5.0 changelog entries\",\n    \"priority\": \"normal\",\n    \"due_at\": \"2026-06-30T00:00:00Z\"\n  }'\n```\n\n### GET /mind/task (query params)\n\nสร้าง task ผ่าน GET (สำหรับเครื่องมือ URL-only)\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/task?title=Test+task&priority=high\"\n```\n\n### PUT /mind/task/:id\n\nอัปเดต task ที่มีอยู่\n\n```bash\ncurl -X PUT https://synapse.schaefer.zone/mind/task/task_001 \\\n  -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"status\": \"in_progress\",\n    \"description\": \"Currently deploying, CI is green\"\n  }'\n```\n\n### GET /mind/task/:id/complete\n\nทำเครื่องหมาย task ว่าเสร็จสิ้น\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/task/task_001/complete\n```\n\n### GET /mind/task/:id/delete\n\nลบ task อย่างถาวร\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/task/task_001/delete\n```\n\n## Priorities\n\n- `low` — ไม่เร่งด่วน\n- `normal` — ค่าเริ่มต้น\n- `high` — สำคัญ\n- `critical` — ต้องทำทันที\n\n## Statuses\n\n- `pending` — สร้างแล้ว ยังไม่เริ่ม\n- `in_progress` — กำลังดำเนินการ\n- `done` — เสร็จสิ้น\n- `cancelled` — ยกเลิก\n\n## รูปแบบ: Task-Driven Workflow\n\n```python\n# At session start\ntasks = list_tasks(status=\"in_progress\")\nif tasks:\n    print(f\"Resuming: {tasks[0].title}\")\n\n# Plan multi-step work\nfor step in plan:\n    task = create_task(title=step)\n\n# Update as you progress\nupdate_task(task.id, status=\"in_progress\")\n# ... do work ...\nupdate_task(task.id, status=\"done\")\n```\n\n## ขั้นตอนถัดไป\n\n- [Task-Driven Workflow](/docs/llm-cookbook/task-driven-workflow)\n- [Cron & Scheduler](/docs/api/cron)\n","content_html":"<h1>Tasks API</h1>\n<p>Tasks API ให้ LLM agent วิธีที่มีโครงสร้างในการติดตามงานหลายขั้นตอน task อยู่ใน scope ของ mind ปัจจุบันและคงอยู่ข้าม session ทำให้ agent ทำงานต่อจากที่ค้างไว้ได้</p>\n<h2>Endpoints</h2>\n<h3>GET /mind/tasks</h3>\n<p>รายการ task ทั้งหมดของ mind ปัจจุบัน</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># All tasks</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/mind/tasks\n\n<span class=\"hljs-comment\"># Filter by status</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/mind/tasks?status=pending&quot;</span></code></pre><p>Response:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;tasks&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span>\n    <span class=\"hljs-punctuation\">{</span>\n      <span class=\"hljs-attr\">&quot;id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;task_001&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;title&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Deploy v1.5.0&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;description&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Push to production after CI green&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;priority&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;high&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;status&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;in_progress&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;due_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-28T...&quot;</span><span class=\"hljs-punctuation\">,</span>\n      <span class=\"hljs-attr\">&quot;created_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span>\n    <span class=\"hljs-punctuation\">}</span>\n  <span class=\"hljs-punctuation\">]</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>POST /mind/task</h3>\n<p>สร้าง task ใหม่</p>\n<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/mind/task \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{\n    &quot;title&quot;: &quot;Update documentation&quot;,\n    &quot;description&quot;: &quot;Add v1.5.0 changelog entries&quot;,\n    &quot;priority&quot;: &quot;normal&quot;,\n    &quot;due_at&quot;: &quot;2026-06-30T00:00:00Z&quot;\n  }&#x27;</span></code></pre><h3>GET /mind/task (query params)</h3>\n<p>สร้าง task ผ่าน GET (สำหรับเครื่องมือ URL-only)</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     <span class=\"hljs-string\">&quot;https://synapse.schaefer.zone/mind/task?title=Test+task&amp;priority=high&quot;</span></code></pre><h3>PUT /mind/task/:id</h3>\n<p>อัปเดต task ที่มีอยู่</p>\n<pre><code class=\"hljs language-bash\">curl -X PUT https://synapse.schaefer.zone/mind/task/task_001 \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{\n    &quot;status&quot;: &quot;in_progress&quot;,\n    &quot;description&quot;: &quot;Currently deploying, CI is green&quot;\n  }&#x27;</span></code></pre><h3>GET /mind/task/:id/complete</h3>\n<p>ทำเครื่องหมาย task ว่าเสร็จสิ้น</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/mind/task/task_001/complete</code></pre><h3>GET /mind/task/:id/delete</h3>\n<p>ลบ task อย่างถาวร</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/mind/task/task_001/delete</code></pre><h2>Priorities</h2>\n<ul>\n<li><code>low</code> — ไม่เร่งด่วน</li>\n<li><code>normal</code> — ค่าเริ่มต้น</li>\n<li><code>high</code> — สำคัญ</li>\n<li><code>critical</code> — ต้องทำทันที</li>\n</ul>\n<h2>Statuses</h2>\n<ul>\n<li><code>pending</code> — สร้างแล้ว ยังไม่เริ่ม</li>\n<li><code>in_progress</code> — กำลังดำเนินการ</li>\n<li><code>done</code> — เสร็จสิ้น</li>\n<li><code>cancelled</code> — ยกเลิก</li>\n</ul>\n<h2>รูปแบบ: Task-Driven Workflow</h2>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># At session start</span>\ntasks = list_tasks(status=<span class=\"hljs-string\">&quot;in_progress&quot;</span>)\n<span class=\"hljs-keyword\">if</span> tasks:\n    <span class=\"hljs-built_in\">print</span>(<span class=\"hljs-string\">f&quot;Resuming: <span class=\"hljs-subst\">{tasks[<span class=\"hljs-number\">0</span>].title}</span>&quot;</span>)\n\n<span class=\"hljs-comment\"># Plan multi-step work</span>\n<span class=\"hljs-keyword\">for</span> step <span class=\"hljs-keyword\">in</span> plan:\n    task = create_task(title=step)\n\n<span class=\"hljs-comment\"># Update as you progress</span>\nupdate_task(task.<span class=\"hljs-built_in\">id</span>, status=<span class=\"hljs-string\">&quot;in_progress&quot;</span>)\n<span class=\"hljs-comment\"># ... do work ...</span>\nupdate_task(task.<span class=\"hljs-built_in\">id</span>, status=<span class=\"hljs-string\">&quot;done&quot;</span>)</code></pre><h2>ขั้นตอนถัดไป</h2>\n<ul>\n<li><a href=\"/docs/llm-cookbook/task-driven-workflow\">Task-Driven Workflow</a></li>\n<li><a href=\"/docs/api/cron\">Cron &amp; Scheduler</a></li>\n</ul>\n","urls":{"html":"/docs/api/tasks","text":"/docs/api/tasks?format=text","json":"/docs/api/tasks?format=json","llm":"/docs/api/tasks?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}