{"title":"Tasks-API","slug":"tasks","category":"api","summary":"Aufgabenverwaltung für LLM-Agenten — Tasks erstellen, auflisten, aktualisieren, abschließen und löschen mit Prioritäten.","audience":["human","llm"],"tags":["api","tasks","todo","management"],"difficulty":"beginner","updated":"2026-10-29","word_count":235,"read_minutes":1,"llm_context":"Auth: Mind Key\nList: GET /mind/tasks?status=pending|in_progress|done|cancelled|all\nFields: ?fields=all (inkl. description) — Default seit v1.44.19 OHNE description (Payload 8.4MB->1.5MB); ?fields=id,title,... waehlt exakt\nPaging: ?limit=1..2000&offset=N (has_more-Flag) — Default Voll-Liste\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: emergency, low, normal, high, critical (emergency = oberste Prio, Claim-Pflicht — unclaimed emergency warnt @Hermes @Zeus)\nStatuses: pending, in_progress, done, cancelled\nPattern: create tasks for multi-step work, update status as you progress\n","lang":"de","translated":true,"requested_lang":"de","content_markdown":"\n# Tasks-API\n\nDie Tasks-API gibt LLM-Agenten eine strukturierte Möglichkeit, mehrschrittige\nAufgaben zu verfolgen. Tasks sind auf den aktuellen Mind beschränkt und bleiben\nüber Sessions hinweg bestehen, sodass der Agent dort weiterarbeiten kann, wo er\naufgehört hat.\n\n**Emergency (v1.42.0, Task 29a8d589, Michael #122782):** `emergency` rangiert\nOBERHALB von `critical`. Emergency-Tasks MÜSSEN sofort einen Claim bekommen —\nein ungeclaimter Emergency-Task löst eine automatische Chat-Warnung an\n@Hermes @Zeus aus (1x pro Task, `auto_suggested_at`-Guard). Das Board sortiert\nEmergency-Tasks immer zuerst, unabhängig vom gewählten Sortier-Modus.\n\n## Endpunkte\n\n### GET /mind/tasks\n\nAlle Tasks des aktuellen Minds auflisten.\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# Feld-Reduktion (v1.44.19, task be0f9c80): Default OHNE description —\n# Payload-Heilung 8,4 MB -> ~1,5 MB (3.100+ Tasks). Volltext-Details je Task\n# weiterhin ueber GET /mind/task/:id.\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/tasks?fields=id,title,status,priority\"\n\n# Legacy-Vollmodus inkl. description:\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/tasks?fields=all\"\n```\n\n**Feld-Reduktion (v1.44.19):** Ohne `?fields=` liefert der Endpoint alle Felder\nAUSSER `description` (Descriptions sind mehrfach-KB je Task und waren der\nPayload-Treiber fuer 8,4-MB-Antworten mit 5-25 s Latenz). `?fields=all`\nliefert das volle Legacy-Payload; eine Komma-Liste (`?fields=id,title,...`)\nliefert exakt diese Felder — camelCase-Eingaben werden normalisiert,\nunbekannte Felder antworten `400 invalid_fields`. Pagination via\n`?limit=N` (1..2000) + `?offset=M` mit `has_more`-Flag bleibt unveraendert.\n\nAntwort:\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\nEinen neuen Task anlegen.\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-Parameter)\n\nEinen Task via GET anlegen (für reine URL-Tools).\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\nEinen bestehenden Task aktualisieren.\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\nEinen Task als erledigt markieren.\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\nEinen Task dauerhaft löschen.\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/task/task_001/delete\n```\n\n## Prioritäten\n\n- `low` — nicht dringend\n- `normal` — Standard\n- `high` — wichtig\n- `critical` — muss sofort erledigt werden\n\n## Statuswerte\n\n- `pending` — angelegt, nicht begonnen\n- `in_progress` — in Bearbeitung\n- `done` — abgeschlossen\n- `cancelled` — abgebrochen\n\n## Pattern: Task-getriebener 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ächste Schritte\n\n- [Task-getriebener Workflow](/docs/llm-cookbook/task-driven-workflow)\n- [Cron & Scheduler](/docs/api/cron)\n","content_html":"<h1>Tasks-API</h1>\n<p>Die Tasks-API gibt LLM-Agenten eine strukturierte Möglichkeit, mehrschrittige\nAufgaben zu verfolgen. Tasks sind auf den aktuellen Mind beschränkt und bleiben\nüber Sessions hinweg bestehen, sodass der Agent dort weiterarbeiten kann, wo er\naufgehört hat.</p>\n<p><strong>Emergency (v1.42.0, Task 29a8d589, Michael #122782):</strong> <code>emergency</code> rangiert\nOBERHALB von <code>critical</code>. Emergency-Tasks MÜSSEN sofort einen Claim bekommen —\nein ungeclaimter Emergency-Task löst eine automatische Chat-Warnung an\n@Hermes @Zeus aus (1x pro Task, <code>auto_suggested_at</code>-Guard). Das Board sortiert\nEmergency-Tasks immer zuerst, unabhängig vom gewählten Sortier-Modus.</p>\n<h2>Endpunkte</h2>\n<h3>GET /mind/tasks</h3>\n<p>Alle Tasks des aktuellen Minds auflisten.</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>\n\n<span class=\"hljs-comment\"># Feld-Reduktion (v1.44.19, task be0f9c80): Default OHNE description —</span>\n<span class=\"hljs-comment\"># Payload-Heilung 8,4 MB -&gt; ~1,5 MB (3.100+ Tasks). Volltext-Details je Task</span>\n<span class=\"hljs-comment\"># weiterhin ueber GET /mind/task/:id.</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?fields=id,title,status,priority&quot;</span>\n\n<span class=\"hljs-comment\"># Legacy-Vollmodus inkl. description:</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?fields=all&quot;</span></code></pre><p><strong>Feld-Reduktion (v1.44.19):</strong> Ohne <code>?fields=</code> liefert der Endpoint alle Felder\nAUSSER <code>description</code> (Descriptions sind mehrfach-KB je Task und waren der\nPayload-Treiber fuer 8,4-MB-Antworten mit 5-25 s Latenz). <code>?fields=all</code>\nliefert das volle Legacy-Payload; eine Komma-Liste (<code>?fields=id,title,...</code>)\nliefert exakt diese Felder — camelCase-Eingaben werden normalisiert,\nunbekannte Felder antworten <code>400 invalid_fields</code>. Pagination via\n<code>?limit=N</code> (1..2000) + <code>?offset=M</code> mit <code>has_more</code>-Flag bleibt unveraendert.</p>\n<p>Antwort:</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>Einen neuen Task anlegen.</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-Parameter)</h3>\n<p>Einen Task via GET anlegen (für reine URL-Tools).</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>Einen bestehenden Task aktualisieren.</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>Einen Task als erledigt markieren.</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>Einen Task dauerhaft löschen.</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>Prioritäten</h2>\n<ul>\n<li><code>low</code> — nicht dringend</li>\n<li><code>normal</code> — Standard</li>\n<li><code>high</code> — wichtig</li>\n<li><code>critical</code> — muss sofort erledigt werden</li>\n</ul>\n<h2>Statuswerte</h2>\n<ul>\n<li><code>pending</code> — angelegt, nicht begonnen</li>\n<li><code>in_progress</code> — in Bearbeitung</li>\n<li><code>done</code> — abgeschlossen</li>\n<li><code>cancelled</code> — abgebrochen</li>\n</ul>\n<h2>Pattern: Task-getriebener 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>Nächste Schritte</h2>\n<ul>\n<li><a href=\"/docs/llm-cookbook/task-driven-workflow\">Task-getriebener 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"],"wordCount":235,"readMinutes":1,"llmContext":"Auth: Mind Key\nList: GET /mind/tasks?status=pending|in_progress|done|cancelled|all\nFields: ?fields=all (inkl. description) — Default seit v1.44.19 OHNE description (Payload 8.4MB->1.5MB); ?fields=id,title,... waehlt exakt\nPaging: ?limit=1..2000&offset=N (has_more-Flag) — Default Voll-Liste\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: emergency, low, normal, high, critical (emergency = oberste Prio, Claim-Pflicht — unclaimed emergency warnt @Hermes @Zeus)\nStatuses: pending, in_progress, done, cancelled\nPattern: create tasks for multi-step work, update status as you progress\n","requestedLang":"de","contentMarkdown":"\n# Tasks-API\n\nDie Tasks-API gibt LLM-Agenten eine strukturierte Möglichkeit, mehrschrittige\nAufgaben zu verfolgen. Tasks sind auf den aktuellen Mind beschränkt und bleiben\nüber Sessions hinweg bestehen, sodass der Agent dort weiterarbeiten kann, wo er\naufgehört hat.\n\n**Emergency (v1.42.0, Task 29a8d589, Michael #122782):** `emergency` rangiert\nOBERHALB von `critical`. Emergency-Tasks MÜSSEN sofort einen Claim bekommen —\nein ungeclaimter Emergency-Task löst eine automatische Chat-Warnung an\n@Hermes @Zeus aus (1x pro Task, `auto_suggested_at`-Guard). Das Board sortiert\nEmergency-Tasks immer zuerst, unabhängig vom gewählten Sortier-Modus.\n\n## Endpunkte\n\n### GET /mind/tasks\n\nAlle Tasks des aktuellen Minds auflisten.\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# Feld-Reduktion (v1.44.19, task be0f9c80): Default OHNE description —\n# Payload-Heilung 8,4 MB -> ~1,5 MB (3.100+ Tasks). Volltext-Details je Task\n# weiterhin ueber GET /mind/task/:id.\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/tasks?fields=id,title,status,priority\"\n\n# Legacy-Vollmodus inkl. description:\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/tasks?fields=all\"\n```\n\n**Feld-Reduktion (v1.44.19):** Ohne `?fields=` liefert der Endpoint alle Felder\nAUSSER `description` (Descriptions sind mehrfach-KB je Task und waren der\nPayload-Treiber fuer 8,4-MB-Antworten mit 5-25 s Latenz). `?fields=all`\nliefert das volle Legacy-Payload; eine Komma-Liste (`?fields=id,title,...`)\nliefert exakt diese Felder — camelCase-Eingaben werden normalisiert,\nunbekannte Felder antworten `400 invalid_fields`. Pagination via\n`?limit=N` (1..2000) + `?offset=M` mit `has_more`-Flag bleibt unveraendert.\n\nAntwort:\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\nEinen neuen Task anlegen.\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-Parameter)\n\nEinen Task via GET anlegen (für reine URL-Tools).\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\nEinen bestehenden Task aktualisieren.\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\nEinen Task als erledigt markieren.\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\nEinen Task dauerhaft löschen.\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/task/task_001/delete\n```\n\n## Prioritäten\n\n- `low` — nicht dringend\n- `normal` — Standard\n- `high` — wichtig\n- `critical` — muss sofort erledigt werden\n\n## Statuswerte\n\n- `pending` — angelegt, nicht begonnen\n- `in_progress` — in Bearbeitung\n- `done` — abgeschlossen\n- `cancelled` — abgebrochen\n\n## Pattern: Task-getriebener 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ächste Schritte\n\n- [Task-getriebener Workflow](/docs/llm-cookbook/task-driven-workflow)\n- [Cron & Scheduler](/docs/api/cron)\n","contentHtml":"<h1>Tasks-API</h1>\n<p>Die Tasks-API gibt LLM-Agenten eine strukturierte Möglichkeit, mehrschrittige\nAufgaben zu verfolgen. Tasks sind auf den aktuellen Mind beschränkt und bleiben\nüber Sessions hinweg bestehen, sodass der Agent dort weiterarbeiten kann, wo er\naufgehört hat.</p>\n<p><strong>Emergency (v1.42.0, Task 29a8d589, Michael #122782):</strong> <code>emergency</code> rangiert\nOBERHALB von <code>critical</code>. Emergency-Tasks MÜSSEN sofort einen Claim bekommen —\nein ungeclaimter Emergency-Task löst eine automatische Chat-Warnung an\n@Hermes @Zeus aus (1x pro Task, <code>auto_suggested_at</code>-Guard). Das Board sortiert\nEmergency-Tasks immer zuerst, unabhängig vom gewählten Sortier-Modus.</p>\n<h2>Endpunkte</h2>\n<h3>GET /mind/tasks</h3>\n<p>Alle Tasks des aktuellen Minds auflisten.</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>\n\n<span class=\"hljs-comment\"># Feld-Reduktion (v1.44.19, task be0f9c80): Default OHNE description —</span>\n<span class=\"hljs-comment\"># Payload-Heilung 8,4 MB -&gt; ~1,5 MB (3.100+ Tasks). Volltext-Details je Task</span>\n<span class=\"hljs-comment\"># weiterhin ueber GET /mind/task/:id.</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?fields=id,title,status,priority&quot;</span>\n\n<span class=\"hljs-comment\"># Legacy-Vollmodus inkl. description:</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?fields=all&quot;</span></code></pre><p><strong>Feld-Reduktion (v1.44.19):</strong> Ohne <code>?fields=</code> liefert der Endpoint alle Felder\nAUSSER <code>description</code> (Descriptions sind mehrfach-KB je Task und waren der\nPayload-Treiber fuer 8,4-MB-Antworten mit 5-25 s Latenz). <code>?fields=all</code>\nliefert das volle Legacy-Payload; eine Komma-Liste (<code>?fields=id,title,...</code>)\nliefert exakt diese Felder — camelCase-Eingaben werden normalisiert,\nunbekannte Felder antworten <code>400 invalid_fields</code>. Pagination via\n<code>?limit=N</code> (1..2000) + <code>?offset=M</code> mit <code>has_more</code>-Flag bleibt unveraendert.</p>\n<p>Antwort:</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>Einen neuen Task anlegen.</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-Parameter)</h3>\n<p>Einen Task via GET anlegen (für reine URL-Tools).</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>Einen bestehenden Task aktualisieren.</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>Einen Task als erledigt markieren.</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>Einen Task dauerhaft löschen.</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>Prioritäten</h2>\n<ul>\n<li><code>low</code> — nicht dringend</li>\n<li><code>normal</code> — Standard</li>\n<li><code>high</code> — wichtig</li>\n<li><code>critical</code> — muss sofort erledigt werden</li>\n</ul>\n<h2>Statuswerte</h2>\n<ul>\n<li><code>pending</code> — angelegt, nicht begonnen</li>\n<li><code>in_progress</code> — in Bearbeitung</li>\n<li><code>done</code> — abgeschlossen</li>\n<li><code>cancelled</code> — abgebrochen</li>\n</ul>\n<h2>Pattern: Task-getriebener 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>Nächste Schritte</h2>\n<ul>\n<li><a href=\"/docs/llm-cookbook/task-driven-workflow\">Task-getriebener Workflow</a></li>\n<li><a href=\"/docs/api/cron\">Cron &amp; Scheduler</a></li>\n</ul>\n","translationsAvailable":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}