> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mettre à jour une automatisation

> Renomme une automatisation Famulor, l'active ou la désactive, ou la répare avec une définition corrigée.

<Warning>
  **API Famulor 1.0 (héritée).** Cette page concerne uniquement Famulor 1.0 (`app.famulor.de`) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la [référence API Famulor 2.0](/fr/api-reference/introduction).
</Warning>

Ce point de terminaison propose deux modes :

* **Renommer / activer-désactiver** — envoyez `name` et/ou `enabled` pour renommer l'automatisation ou l'activer/la désactiver.
* **Réparer** — envoyez une définition `flow` corrigée : l'automatisation est reconstruite en place, retestée avec une exécution réelle, puis réactivée uniquement si le test réussit. Utilisez ce mode après avoir diagnostiqué un échec avec [Obtenir une automatisation](/fr/api-v1/automations/get) et [Lister les exécutions d'automatisation](/fr/api-v1/automations/list-runs).

Pour annuler une réparation qui a empiré la situation, revenez à la version précédemment publiée avec [Restaurer la version précédente](/fr/api-v1/automations/restore).

<Warning>
  Une définition de réparation remplace l'automatisation entière — elle n'est jamais fusionnée. Lisez d'abord la définition actuelle et renvoyez la chaîne complète, y compris chaque étape à conserver ; les étapes omises sont supprimées. L'exécution de test de la réparation exécute réellement l'automatisation, donc `confirm_side_effects: true` est à nouveau requis lorsque la définition corrigée contient des étapes d'envoi.
</Warning>

### Paramètres de chemin

<ParamField path="id" type="string" required>
  L'ID de l'automatisation (voir [Lister les automatisations](/fr/api-v1/automations/list))
</ParamField>

### Corps de la requête

<ParamField body="name" type="string">
  Un nouveau nom pour l'automatisation (255 caractères maximum). En mode réparation, le nom actuel est conservé si omis.
</ParamField>

<ParamField body="enabled" type="boolean">
  `true` pour activer l'automatisation, `false` pour la désactiver
</ParamField>

<ParamField body="flow" type="object">
  Mode réparation : la définition complète corrigée, au même format que [Créer une automatisation](/fr/api-v1/automations/create) (`{"trigger": {...}, "steps": [...]}`). 1 Mo maximum.
</ParamField>

<ParamField body="sample" type="object">
  Le payload d'exemple pour l'exécution de test de la réparation (pour les événements d'assistant, l'exemple canonique est utilisé si omis). 256 Ko maximum.
</ParamField>

<ParamField body="assistant_id" type="integer">
  Pour les réparations d'automatisations liées à un événement d'assistant : l'assistant auquel (ré)attacher l'automatisation. Généralement déjà présent dans le déclencheur de la définition.
</ParamField>

<ParamField body="confirm_side_effects" type="boolean">
  Requis (`true`) lorsque la définition corrigée contient des étapes qui envoient des messages ou des e-mails, démarrent des appels, ou effectuent des requêtes HTTP autres que GET
</ParamField>

Une requête sans `name`, `enabled` ni `flow` renvoie un `422` demandant au moins l'un des trois.

### Response — Renommage / activation-désactivation

<ResponseField name="data" type="object">
  Le résumé actualisé de l'automatisation

  <Expandable title="Propriétés de l'automatisation">
    <ResponseField name="id" type="string">
      L'ID de l'automatisation
    </ResponseField>

    <ResponseField name="name" type="string">
      Le nom (éventuellement nouveau) de l'automatisation
    </ResponseField>

    <ResponseField name="status" type="string">
      `enabled` ou `disabled`
    </ResponseField>

    <ResponseField name="updated" type="boolean">
      Si tous les changements demandés ont été appliqués
    </ResponseField>
  </Expandable>
</ResponseField>

### Response — Réparation

La même enveloppe que [Créer une automatisation](/fr/api-v1/automations/create) (`automation_id`, `status`, `test`, `response`, `binding`), sans `webhook_url` — une automatisation réparée conserve son URL de webhook d'origine. Renvoyée avec le code HTTP `200` ; `status` vaut `active`, `active_untested` ou `test_failed`. Une réparation dont le test échoue laisse l'automatisation désactivée ; une réparation rejetée avant l'exécution de test (par ex. `no_steps`) laisse l'automatisation existante inchangée.

Une automatisation introuvable — ou qui n'appartient pas à votre compte — renvoie un `404` avec `{"message": "Automation not found"}`.

<ResponseExample>
  ```json 200 Response (rename + disable) theme={null} theme={null}
  {
    "data": {
      "id": "f4EaLhOW2zoEsXXSOJP2r",
      "name": "Order lookup v2",
      "status": "disabled",
      "updated": true
    }
  }
  ```

  ```json 200 Response (repair, test passed) theme={null} theme={null}
  {
    "automation_id": "f4EaLhOW2zoEsXXSOJP2r",
    "status": "active",
    "test": {
      "run_status": "SUCCEEDED",
      "steps": []
    },
    "response": null,
    "binding": null
  }
  ```

  ```json 404 Not Found theme={null} theme={null}
  {
    "message": "Automation not found"
  }
  ```
</ResponseExample>

<Tip>
  Pages associées : [Obtenir une automatisation](/fr/api-v1/automations/get), [Restaurer la version précédente](/fr/api-v1/automations/restore) et [Authentification](/fr/api-v1/authentication).
</Tip>
