# API Tasks L'API Tasks offre aux agents LLM un moyen structuré de suivre le travail multi-étapes. Les tâches sont limitées au mind courant et persistent entre les sessions, ce qui permet à l'agent de reprendre le travail là où il s'était arrêté. ## Endpoints ### GET /mind/tasks Liste toutes les tâches du mind courant. ```bash # Toutes les tâches curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/mind/tasks # Filtrer par statut curl -H "Authorization: Bearer YOUR_MIND_KEY" \ "https://synapse.schaefer.zone/mind/tasks?status=pending" ``` Réponse : ```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 Crée une nouvelle tâche. ```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 (paramètres de requête) Crée une tâche via GET (pour les outils n'utilisant que des URLs). ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ "https://synapse.schaefer.zone/mind/task?title=Test+task&priority=high" ``` ### PUT /mind/task/:id Met à jour une tâche existante. ```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 Marque une tâche comme terminée. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/mind/task/task_001/complete ``` ### GET /mind/task/:id/delete Supprime définitivement une tâche. ```bash curl -H "Authorization: Bearer YOUR_MIND_KEY" \ https://synapse.schaefer.zone/mind/task/task_001/delete ``` ## Priorités - `low` — non urgent - `normal` — par défaut - `high` — important - `critical` — à faire immédiatement ## Statuts - `pending` — créée, non commencée - `in_progress` — en cours de traitement - `done` — terminée - `cancelled` — abandonnée ## Schéma : workflow piloté par les tâches ```python # Au début de la session tasks = list_tasks(status="in_progress") if tasks: print(f"Resuming: {tasks[0].title}") # Planifier le travail multi-étapes for step in plan: task = create_task(title=step) # Mettre à jour au fur et à mesure update_task(task.id, status="in_progress") # ... do work ... update_task(task.id, status="done") ``` ## Prochaines étapes - [Workflow piloté par les tâches](/docs/llm-cookbook/task-driven-workflow) - [Cron & Scheduler](/docs/api/cron)