> ## 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.

# Automation aktualisieren

> Benenne eine Famulor-Automation um, schalte sie ein/aus oder repariere sie mit einer korrigierten Definition.

Dieser Endpunkt hat zwei Modi:

* **Umbenennen / Umschalten** — mit `name` und/oder `enabled` die Automation umbenennen oder ein-/ausschalten.
* **Reparieren** — mit einer korrigierten `flow`-Definition wird die Automation an Ort und Stelle neu gebaut, mit einem echten Lauf erneut getestet und nur bei bestandenem Test wieder aktiviert. Nutze das nach der Diagnose mit [Automation abrufen](/de/api-reference/automations/get) und [Runs auflisten](/de/api-reference/automations/list-runs).

Um eine Reparatur rückgängig zu machen, die die Lage verschlechtert hat, rolle mit [Vorherige Version wiederherstellen](/de/api-reference/automations/restore) zurück.

<Warning>
  Eine Reparatur-Definition ersetzt die gesamte Automation — sie wird nie gemerged. Lies zuerst die aktuelle Definition und sende die komplette Kette zurück, inklusive aller Steps, die bleiben sollen; weggelassene Steps werden gelöscht. Der Reparatur-Testlauf führt die Automation echt aus — daher ist `confirm_side_effects: true` erneut nötig, wenn die korrigierte Definition sendende Steps enthält.
</Warning>

### Path Parameters

<ParamField path="id" type="string" required>
  Die ID der Automation (aus [Automationen auflisten](/de/api-reference/automations/list))
</ParamField>

### Request Body

<ParamField body="name" type="string">
  Ein neuer Name für die Automation (max. 255 Zeichen). Im Reparatur-Modus bleibt der aktuelle Name erhalten, wenn weggelassen.
</ParamField>

<ParamField body="enabled" type="boolean">
  `true` zum Einschalten, `false` zum Ausschalten
</ParamField>

<ParamField body="flow" type="object">
  Reparatur-Modus: die korrigierte vollständige Definition im gleichen Format wie [Automation erstellen](/de/api-reference/automations/create) (`{"trigger": {...}, "steps": [...]}`). Max. 1 MB.
</ParamField>

<ParamField body="sample" type="object">
  Sample-Payload für den Reparatur-Testlauf (bei Assistant-Events wird bei Weglassen das kanonische Sample verwendet). Max. 256 KB.
</ParamField>

<ParamField body="assistant_id" type="integer">
  Bei Reparaturen von Assistant-Event-Automationen: der Assistant, an den (erneut) gebunden wird. Meist bereits im Trigger der Definition enthalten.
</ParamField>

<ParamField body="confirm_side_effects" type="boolean">
  Pflicht (`true`), wenn die korrigierte Definition Steps enthält, die Nachrichten oder E-Mails senden, Anrufe starten oder Non-GET-HTTP-Requests machen
</ParamField>

Ein Request ohne `name`, `enabled` oder `flow` liefert `422` und verlangt mindestens eines davon.

### Response — Umbenennen / Umschalten

<ResponseField name="data" type="object">
  Die aktualisierte Automation-Zusammenfassung

  <Expandable title="data-Eigenschaften">
    <ResponseField name="id" type="string">
      Die Automation-ID
    </ResponseField>

    <ResponseField name="name" type="string">
      Der (ggf. neue) Name der Automation
    </ResponseField>

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

    <ResponseField name="updated" type="boolean">
      Ob jede angeforderte Änderung übernommen wurde
    </ResponseField>
  </Expandable>
</ResponseField>

### Response — Reparatur

Dieselbe Envelope wie [Automation erstellen](/de/api-reference/automations/create) (`automation_id`, `status`, `test`, `response`, `binding`), ohne `webhook_url` — eine reparierte Automation behält ihre ursprüngliche Webhook-URL. Mit HTTP `200`; `status` ist `active`, `active_untested` oder `test_failed`. Schlägt der Reparatur-Test fehl, bleibt die Automation deaktiviert; eine vor dem Testlauf abgelehnte Reparatur (z. B. `no_steps`) lässt die bestehende Automation unberührt.

Eine fehlende Automation — oder eine, die nicht zu deinem Account gehört — liefert `404` mit `{"message": "Automation not found"}`.

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

  ```json 200 Response (Reparatur, Test bestanden) 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>
  Verwandte Seiten: [Automation abrufen](/de/api-reference/automations/get), [Vorherige Version wiederherstellen](/de/api-reference/automations/restore) und [Authentifizierung](/de/api-reference/authentication).
</Tip>
