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

# Actualizar automatización

> Renombra una automatización de Famulor, actívala o desactívala, o repárala con una definición corregida.

<Warning>
  **API de Famulor 1.0 (legado).** Esta página se aplica únicamente a Famulor 1.0 (`app.famulor.de`) y se conserva por compatibilidad. Para la plataforma actual, usa la [referencia de la API de Famulor 2.0](/es/api-reference/introduction).
</Warning>

Este endpoint tiene dos modos:

* **Renombrar / activar-desactivar** — pasa `name` y/o `enabled` para renombrar la automatización o activarla/desactivarla.
* **Reparar** — pasa una definición `flow` corregida y la automatización se reconstruye en el sitio, se vuelve a probar con una ejecución real, y se reactiva solo cuando la prueba se supera. Usa esto después de diagnosticar un fallo con [Obtener automatización](/es/api-v1/automations/get) y [Listar ejecuciones de automatización](/es/api-v1/automations/list-runs).

Para deshacer una reparación que empeoró las cosas, revierte a la versión publicada anterior con [Restaurar versión anterior](/es/api-v1/automations/restore).

<Warning>
  Una definición de reparación reemplaza toda la automatización — nunca se combina. Lee primero la definición actual y reenvía la cadena completa, incluyendo cada paso que deba permanecer; los pasos que omitas se eliminan. La ejecución de prueba de la reparación ejecuta la automatización de verdad, así que se requiere de nuevo `confirm_side_effects: true` cuando la definición corregida contiene pasos de envío.
</Warning>

### Parámetros de ruta

<ParamField path="id" type="string" required>
  El ID de la automatización (de [Listar automatizaciones](/es/api-v1/automations/list))
</ParamField>

### Cuerpo de la solicitud

<ParamField body="name" type="string">
  Un nuevo nombre para la automatización (máx. 255 caracteres). En el modo de reparación, se conserva el nombre actual si se omite.
</ParamField>

<ParamField body="enabled" type="boolean">
  `true` para activar la automatización, `false` para desactivarla
</ParamField>

<ParamField body="flow" type="object">
  Modo de reparación: la definición completa corregida, en el mismo formato que [Crear automatización](/es/api-v1/automations/create) (`{"trigger": {...}, "steps": [...]}`). Máx. 1 MB.
</ParamField>

<ParamField body="sample" type="object">
  Payload de ejemplo para la ejecución de prueba de la reparación (en eventos de asistente, se usa el ejemplo canónico si se omite). Máx. 256 KB.
</ParamField>

<ParamField body="assistant_id" type="integer">
  Para reparaciones de automatizaciones de eventos de asistente: el asistente al que (re)vincularse. Normalmente ya viene incluido dentro del activador de la definición.
</ParamField>

<ParamField body="confirm_side_effects" type="boolean">
  Obligatorio (`true`) cuando la definición corregida contiene pasos que envían mensajes o correos, inician llamadas, o realizan solicitudes HTTP que no son GET
</ParamField>

Una solicitud que no incluya ninguno de `name`, `enabled` o `flow` devuelve un `422` pidiendo al menos uno de ellos.

### Respuesta — renombrar / activar-desactivar

<ResponseField name="data" type="object">
  El resumen actualizado de la automatización

  <Expandable title="Propiedades de la automatización">
    <ResponseField name="id" type="string">
      El ID de la automatización
    </ResponseField>

    <ResponseField name="name" type="string">
      El nombre (posiblemente nuevo) de la automatización
    </ResponseField>

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

    <ResponseField name="updated" type="boolean">
      Si se aplicaron todos los cambios solicitados
    </ResponseField>
  </Expandable>
</ResponseField>

### Respuesta — reparación

El mismo formato que [Crear automatización](/es/api-v1/automations/create) (`automation_id`, `status`, `test`, `response`, `binding`), sin `webhook_url` — una automatización reparada conserva su URL de webhook original. Se devuelve con HTTP `200`; `status` es `active`, `active_untested` o `test_failed`. Una reparación cuya prueba falla deja la automatización desactivada; una reparación rechazada antes de la ejecución de prueba (p. ej. `no_steps`) deja la automatización existente sin cambios.

Una automatización inexistente — o que no pertenece a tu cuenta — devuelve un `404` con `{"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>
  Páginas relacionadas: [Obtener automatización](/es/api-v1/automations/get), [Restaurar versión anterior](/es/api-v1/automations/restore), y [Autenticación](/es/api-v1/authentication).
</Tip>
