{"title":"API Tasks","slug":"tasks","category":"api","summary":"Gestion des tâches pour les agents LLM — créer, lister, mettre à jour, compléter, supprimer des tâches avec priorités.","audience":["human","llm"],"tags":["api","tasks","todo","management"],"difficulty":"beginner","updated":"2026-06-27","word_count":168,"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":"fr","translated":true,"requested_lang":"fr","content_markdown":"\n# API Tasks\n\nL'API Tasks offre aux agents LLM un moyen structuré de suivre le travail multi-étapes.\nLes tâches sont limitées au mind courant et persistent entre les sessions, ce qui\npermet à l'agent de reprendre le travail là où il s'était arrêté.\n\n## Endpoints\n\n### GET /mind/tasks\n\nListe toutes les tâches du mind courant.\n\n```bash\n# Toutes les tâches\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/tasks\n\n# Filtrer par statut\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     \"https://synapse.schaefer.zone/mind/tasks?status=pending\"\n```\n\nRéponse :\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\nCrée une nouvelle tâche.\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 (paramètres de requête)\n\nCrée une tâche via GET (pour les outils n'utilisant que des URLs).\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\nMet à jour une tâche existante.\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\nMarque une tâche comme terminée.\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\nSupprime définitivement une tâche.\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/mind/task/task_001/delete\n```\n\n## Priorités\n\n- `low` — non urgent\n- `normal` — par défaut\n- `high` — important\n- `critical` — à faire immédiatement\n\n## Statuts\n\n- `pending` — créée, non commencée\n- `in_progress` — en cours de traitement\n- `done` — terminée\n- `cancelled` — abandonnée\n\n## Schéma : workflow piloté par les tâches\n\n```python\n# Au début de la session\ntasks = list_tasks(status=\"in_progress\")\nif tasks:\n    print(f\"Resuming: {tasks[0].title}\")\n\n# Planifier le travail multi-étapes\nfor step in plan:\n    task = create_task(title=step)\n\n# Mettre à jour au fur et à mesure\nupdate_task(task.id, status=\"in_progress\")\n# ... do work ...\nupdate_task(task.id, status=\"done\")\n```\n\n## Prochaines étapes\n\n- [Workflow piloté par les tâches](/docs/llm-cookbook/task-driven-workflow)\n- [Cron & Scheduler](/docs/api/cron)\n","content_html":"<h1>API Tasks</h1>\n<p>L&#39;API Tasks offre aux agents LLM un moyen structuré de suivre le travail multi-étapes.\nLes tâches sont limitées au mind courant et persistent entre les sessions, ce qui\npermet à l&#39;agent de reprendre le travail là où il s&#39;était arrêté.</p>\n<h2>Endpoints</h2>\n<h3>GET /mind/tasks</h3>\n<p>Liste toutes les tâches du mind courant.</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Toutes les tâches</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\"># Filtrer par statut</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>Réponse :</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>Crée une nouvelle tâche.</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 (paramètres de requête)</h3>\n<p>Crée une tâche via GET (pour les outils n&#39;utilisant que des URLs).</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>Met à jour une tâche existante.</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>Marque une tâche comme terminée.</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>Supprime définitivement une tâche.</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és</h2>\n<ul>\n<li><code>low</code> — non urgent</li>\n<li><code>normal</code> — par défaut</li>\n<li><code>high</code> — important</li>\n<li><code>critical</code> — à faire immédiatement</li>\n</ul>\n<h2>Statuts</h2>\n<ul>\n<li><code>pending</code> — créée, non commencée</li>\n<li><code>in_progress</code> — en cours de traitement</li>\n<li><code>done</code> — terminée</li>\n<li><code>cancelled</code> — abandonnée</li>\n</ul>\n<h2>Schéma : workflow piloté par les tâches</h2>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Au début de la session</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\"># Planifier le travail multi-étapes</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\"># Mettre à jour au fur et à mesure</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>Prochaines étapes</h2>\n<ul>\n<li><a href=\"/docs/llm-cookbook/task-driven-workflow\">Workflow piloté par les tâches</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"]}