# flow2act · Flow mit KI ergänzen

Beschreibe eine schrittweise Änderung am aktuellen Schema-v2-Entwurf.

Administrator oder Sandbox-Entwickler mit Benutzer-Access-Token erforderlich; Integrationsschlüssel sind ausgeschlossen. Übergib die aktuelle definition und optional selection {nodeId,output:next|yes|no|rejectedNext|null}. Ein leerer Zwei-Node-Flow nutzt den Auslöser. Bei mehreren Ausgängen den Pfad wählen; unklare Platzierung liefert questions und definition:null. Im Designer sendet Enter, Shift+Enter fügt eine Zeile ein. Die Lupe sucht weiterhin Nodes.

Liefert die zusammengeführte definition, summary, questions, assumptions, unresolvedGroups, model und changes {added,updated,removed,fields,documents,connections}. Die API erzeugt einen Vorschlag ohne Speicherung oder Ausführung. Beim Anwenden einer E-Mail-Trigger-Änderung speichert der Designer den Entwurf zur Adresszuordnung oder zum Widerruf. Kein Veröffentlichen oder Prozessstart. Lokale Geometrie behalten und Antworten nach zwischenzeitlichen Inhaltsänderungen verwerfen. Der Designer behält Positionen, platziert nur neue Nodes und erlaubt Rückgängig für zehn aufeinanderfolgende KI-Änderungen. Manuelle Inhaltsänderungen sperren ältere KI-Rückgängig-Aktionen; manuelles Verschieben bleibt erhalten.

Nur Flow-Aufbau und Gruppennamen gehen an den EU-geprüften Anbieter. Vorhandene feste Gast-E-Mails werden entfernt; deren Empfängereinstellungen können nicht per KI geändert werden. Keine Vorgangsdaten, Mitgliedschaften, Dateiinhalte oder URLs werden geladen. Unbekannte Gruppen bleiben offen. Bestehendes KI-Entwurfsbudget; 3.000 Zeichen, 128 KiB Body, maximal 12 neue/12 bearbeitete Nodes und 40 Verbindungen je Antwort, 40 Nodes insgesamt. Ungültige/zyklische Änderungen werden atomar abgewiesen. Kein Idempotency-Key nötig; Wiederholungen verbrauchen eine weitere KI-Reservierung.

KI ist je Organisation und Umgebung standardmäßig deaktiviert. Ein Administrator muss die externe KI-Verarbeitung unter Organisation → Datenschutz ausdrücklich einschalten. Keine Zugangsdaten oder vertraulichen personenbezogenen Inhalte eingeben. Lokale Stichwortsuche bleibt mit smart=false verfügbar.

## POST /v1/ai/flow-edits

Authentication: FLOW2ACT_ACCESS_TOKEN from flow2act sign-in
Required tenant header: X-Organization-Id.
Required user permissions: Administrator oder Sandbox-Entwickler erforderlich. The API checks current membership, roles, key scopes and resource permissions on every request. Documentation visibility grants no access.

## Input parameters
- prompt (string, required): min length 3 · max length 3000
- locale (string, optional): en | de · default "en"
- name (string, required): min length 1 · max length 120
- definition (object, required): 
- selection (object, optional): default null

## Request example (replace example IDs)

```sh
curl -X POST "https://api.flow2act.com/v1/ai/flow-edits" \
  -H "authorization: Bearer $FLOW2ACT_ACCESS_TOKEN" \
  -H "x-organization-id: 10000000-0000-4000-8000-000000000001" \
  -H "idempotency-key: example-edit-flow-001" \
  -H "content-type: application/json" \
  --data-raw '{
  "prompt": "Entscheidung mehr oder weniger als 500 Euro",
  "locale": "de",
  "name": "Synthetic flow",
  "definition": {
    "schemaVersion": 2,
    "fields": [],
    "nodes": [
      {
        "id": "start",
        "type": "start",
        "label": "Request received",
        "next": "end"
      },
      {
        "id": "end",
        "type": "end",
        "label": "Approved",
        "outcome": "approved"
      }
    ]
  },
  "selection": {
    "nodeId": "start",
    "output": "next"
  }
}'
```

## Response excerpt

```json
{
  "definition": null,
  "summary": "Choose a branch",
  "questions": [
    "Which branch should receive the step?"
  ],
  "assumptions": [],
  "unresolvedGroups": [],
  "model": "configured-model",
  "changes": {
    "added": 0,
    "updated": 0,
    "removed": 0,
    "fields": 0,
    "documents": 0,
    "connections": 0
  }
}
```

Source: /docs/edit-flow
Full schemas: /docs/openapi.json
