# Tasks-API Die Tasks-API gibt LLM-Agenten eine strukturierte Möglichkeit, mehrschrittige Aufgaben zu verfolgen. Tasks sind auf den aktuellen Mind beschränkt und bleiben über Sessions hinweg bestehen, sodass der Agent dort weiterarbeiten kann, wo er aufgehört hat. ## Endpunkte ### GET /mind/tasks Alle Tasks des aktuellen Minds auflisten. ```bash # All tasks curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/mind/tasks # Filter by status curl -H "Authorization: Bearer YOUR_MIND_KEY" \ "https://synapse.schaefer.zone/mind/tasks?status=pending" ``` Antwort: ```json { "tasks": [ { "id": "task_001", "title": "Deploy v1.5.0", "description": "Push to production after CI green", "priority": "high", "status": "in_progress", "due_at": "2026-06-28T...", "created_at": "2026-06-27T..." } ] } ``` ### POST /mind/task Einen neuen Task anlegen. ```bash curl -X POST https://synapse.schaefer.zone/mind/task \ -H "Authorization: Bearer YOUR_MIND_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Update documentation", "description": "Add v1.5.0 changelog entries", "priority": "normal", "due_at": "2026-06-30T00:00:00Z" }' ``` ### GET /mind/task (Query-Parameter) Einen Task via GET anlegen (für reine URL-Tools). ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ "https://synapse.schaefer.zone/mind/task?title=Test+task&priority=high" ``` ### PUT /mind/task/:id Einen bestehenden Task aktualisieren. ```bash curl -X PUT https://synapse.schaefer.zone/mind/task/task_001 \ -H "Authorization: Bearer YOUR_MIND_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "in_progress", "description": "Currently deploying, CI is green" }' ``` ### GET /mind/task/:id/complete Einen Task als erledigt markieren. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/mind/task/task_001/complete ``` ### GET /mind/task/:id/delete Einen Task dauerhaft löschen. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/mind/task/task_001/delete ``` ## Prioritäten - `low` — nicht dringend - `normal` — Standard - `high` — wichtig - `critical` — muss sofort erledigt werden ## Statuswerte - `pending` — angelegt, nicht begonnen - `in_progress` — in Bearbeitung - `done` — abgeschlossen - `cancelled` — abgebrochen ## Pattern: Task-getriebener Workflow ```python # At session start tasks = list_tasks(status="in_progress") if tasks: print(f"Resuming: {tasks[0].title}") # Plan multi-step work for step in plan: task = create_task(title=step) # Update as you progress update_task(task.id, status="in_progress") # ... do work ... update_task(task.id, status="done") ``` ## Nächste Schritte - [Task-getriebener Workflow](/docs/llm-cookbook/task-driven-workflow) - [Cron & Scheduler](/docs/api/cron)