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

# Assistenten aktualisieren

> Die Konfiguration eines vorhandenen KI-Assistenten aktualisieren

Dieser Endpunkt ermöglicht es Ihnen, die Konfiguration eines vorhandenen KI-Assistenten zu aktualisieren. Alle Felder sind optional - geben Sie nur die Felder an, die Sie aktualisieren möchten.

### Pfad-Parameter

<ParamField path="id" type="integer" required>
  Die eindeutige Kennung des zu aktualisierenden Assistenten
</ParamField>

### Anfragekörper

#### Hauptfelder

<ParamField body="assistant_name" type="string" optional>
  Der Name des Assistenten (max. 255 Zeichen)
</ParamField>

<ParamField body="voice_id" type="integer" optional>
  Die Stimmen-ID, die für den Assistenten verwendet werden soll (muss in den verfügbaren Stimmen vorhanden sein)
</ParamField>

<ParamField body="language" type="string" optional>
  Der Sprachname für den Assistenten (max. 100 Zeichen)
</ParamField>

<ParamField body="llm_model" type="string" optional>
  Der zu verwendende LLM-Modellname (max. 100 Zeichen)
</ParamField>

<ParamField body="calls_direction" type="string" optional>
  Der Anrufrichtungstyp. Optionen: `receive`, `make`
</ParamField>

<ParamField body="engine_type" type="string" optional>
  Der zu verwendende Engine-Typ. Optionen: `pipeline`, `multimodal`
</ParamField>

<ParamField body="timezone" type="string" optional>
  Die Zeitzone für den Assistenten (z. B. "America/New\_York")
</ParamField>

<ParamField body="initial_message" type="string" optional>
  Die erste Nachricht, die der Assistent beim Start des Anrufs sprechen wird
</ParamField>

<ParamField body="system_prompt" type="string" optional>
  Der System-Prompt, der das Verhalten und die Persönlichkeit des Assistenten definiert
</ParamField>

#### Optionale Konfiguration

<ParamField body="phone_number_id" type="integer" optional>
  Die ID einer Telefonnummer, die dem Assistenten zugewiesen werden soll (auf null setzen, um die Zuweisung aufzuheben)
</ParamField>

<ParamField body="tool_ids" type="integer[]" optional>
  Array von Mid-Call-Tool-IDs, die mit dem Assistenten synchronisiert werden sollen. Ersetzt alle vorhandenen Tool-Zuweisungen. Übergeben Sie ein leeres Array, um alle Tools zu entfernen. Jedes Element muss eine gültige Tool-ID sein, die zu Ihrem Konto gehört.
</ParamField>

<ParamField body="endpoint_type" type="string" optional>
  Sprachaktivitätserkennungstyp. Optionen: `vad`, `ai`
</ParamField>

<ParamField body="endpoint_sensitivity" type="number" optional>
  Endpunkt-Empfindlichkeitsstufe (0-5)
</ParamField>

<ParamField body="interrupt_sensitivity" type="number" optional>
  Unterbrechungs-Empfindlichkeitsstufe (0-5)
</ParamField>

<ParamField body="ambient_sound_volume" type="number" optional>
  Umgebungsgeräusch-Lautstärkepegel (0-1)
</ParamField>

<ParamField body="post_call_evaluation" type="boolean" optional>
  Ob die Post-Call-Bewertung aktiviert werden soll
</ParamField>

<ParamField body="send_webhook_only_on_completed" type="boolean" optional>
  Ob Webhooks nur bei abgeschlossenen Anrufen gesendet werden sollen
</ParamField>

<ParamField body="include_recording_in_webhook" type="boolean" optional>
  Ob die Aufzeichnungs-URL in die Webhook-Payload aufgenommen werden soll
</ParamField>

#### Webhook-Konfiguration

<ParamField body="is_webhook_active" type="boolean" optional>
  Ob Webhook-Benachrichtigungen aktiviert sind
</ParamField>

<ParamField body="webhook_url" type="string" optional>
  Die Webhook-URL für Post-Call-Benachrichtigungen (kann auf null gesetzt werden, um sie zu entfernen)
</ParamField>

#### Unterbrechungseinstellungen

<ParamField body="use_min_interrupt_words" type="boolean" optional>
  Ob die Einstellung für minimale Unterbrechungswörter verwendet werden soll
</ParamField>

<ParamField body="min_interrupt_words" type="integer" optional>
  Mindestanzahl von Wörtern, bevor eine Unterbrechung erlaubt ist (0-10)
</ParamField>

#### Variablen und Schema

<ParamField body="variables" type="object" optional>
  Schlüssel-Wert-Paare von benutzerdefinierten Variablen für den Assistenten
</ParamField>

<ParamField body="post_call_schema" type="array" optional>
  Schemadefinition für die Post-Call-Datenextraktion

  <Expandable title="post_call_schema-Eigenschaften">
    <ParamField body="post_call_schema[].name" type="string" required>
      Der Name des Schemafelds (nur alphanumerisch und Unterstriche)
    </ParamField>

    <ParamField body="post_call_schema[].type" type="string" required>
      Der Datentyp. Optionen: `string`, `number`, `bool`
    </ParamField>

    <ParamField body="post_call_schema[].description" type="string" required>
      Beschreibung dessen, was dieses Feld darstellt
    </ParamField>
  </Expandable>
</ParamField>

#### Anruf-Beenden-Tool

<ParamField body="end_call_tool.description" type="string" optional>
  Beschreibung für die Anruf-Beenden-Tool-Funktionalität (max. 500 Zeichen)
</ParamField>

#### Stimm- und Spracheinstellungen

<ParamField body="llm_temperature" type="number" optional>
  LLM-Temperatureinstellung (0-1)
</ParamField>

<ParamField body="voice_stability" type="number" optional>
  Stimmstabilitätseinstellung (0-1)
</ParamField>

<ParamField body="voice_similarity" type="number" optional>
  Stimmähnlichkeitseinstellung (0-1)
</ParamField>

<ParamField body="speech_speed" type="number" optional>
  Sprechgeschwindigkeitsmultiplikator (0.7-1.2)
</ParamField>

#### Anrufverhaltenseinstellungen

<ParamField body="allow_interruptions" type="boolean" optional>
  Ob Anruferunterbrechungen erlaubt werden sollen
</ParamField>

<ParamField body="filler_audios" type="boolean" optional>
  Ob Fülllaute während der Verarbeitung verwendet werden sollen
</ParamField>

<ParamField body="re_engagement_interval" type="integer" optional>
  Intervall für erneuten Eingriff in Sekunden (7-600)
</ParamField>

<ParamField body="max_call_duration" type="integer" optional>
  Maximale Anrufdauer in Sekunden (20-1200)
</ParamField>

<ParamField body="max_silence_duration" type="integer" optional>
  Maximale Stille-Dauer in Sekunden (1-120)
</ParamField>

<ParamField body="end_call_on_voicemail" type="boolean" optional>
  Ob der Anruf bei Voicemail-Erkennung beendet werden soll
</ParamField>

<ParamField body="noise_cancellation" type="boolean" optional>
  Ob Geräuschunterdrückung aktiviert werden soll
</ParamField>

<ParamField body="record_call" type="boolean" optional>
  Ob der Anruf aufgezeichnet werden soll
</ParamField>

<ParamField body="who_speaks_first" type="string" optional>
  Wer zuerst im Anruf spricht. Optionen: `AI assistant`, `Customer`
</ParamField>

### Antwort

<ResponseField name="message" type="string">
  Erfolgsmeldung, die die Aktualisierung des Assistenten bestätigt
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="Eigenschaften">
    <ResponseField name="id" type="integer">
      Die eindeutige Kennung des aktualisierten Assistenten
    </ResponseField>

    <ResponseField name="name" type="string">
      Der Name des Assistenten
    </ResponseField>

    <ResponseField name="status" type="string">
      Der aktuelle Status des Assistenten
    </ResponseField>

    <ResponseField name="type" type="string">
      Der Typ des Assistenten (`inbound` oder `outbound`)
    </ResponseField>

    <ResponseField name="mode" type="string">
      Der Engine-Modus (`pipeline` oder `multimodal`)
    </ResponseField>
  </Expandable>
</ResponseField>

### Fehlerantworten

<ResponseField name="404 Nicht gefunden">
  <Expandable title="Fehlerantwort">
    <ResponseField name="message" type="string">
      Fehlermeldung, wenn der Assistent nicht gefunden wurde oder nicht zum authentifizierten Benutzer gehört
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="422 Validierungsfehler">
  <Expandable title="Fehlerantwort">
    <ResponseField name="message" type="string">
      Fehlermeldung, die auf einen Validierungsfehler hinweist
    </ResponseField>

    <ResponseField name="errors" type="object">
      Detaillierte Validierungsfehler für jedes Feld
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="500 Interner Serverfehler">
  <Expandable title="Fehlerantwort">
    <ResponseField name="message" type="string">
      Fehlermeldung, die auf einen Fehler bei der Assistentenaktualisierung hinweist
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 Success Response theme={null}
  {
    "message": "Assistant updated successfully",
    "data": {
      "id": 789,
      "name": "Updated Sales Assistant",
      "status": "active",
      "type": "outbound",
      "mode": "pipeline"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "message": "Assistant not found"
  }
  ```

  ```json 422 Validation Error theme={null}
  {
    "message": "Validation failed",
    "errors": {
      "speech_speed": [
        "The speech speed must be between 0.7 and 1.2."
      ],
      "webhook_url": [
        "The webhook url must be a valid URL."
      ]
    }
  }
  ```

  ```json 500 Internal Server Error theme={null}
  {
    "message": "Assistant update failed"
  }
  ```
</ResponseExample>

### Hinweise

* Nur die Felder, die Sie im Anfragekörper angeben, werden aktualisiert
* Alle Validierungsregeln gelten genauso wie beim Erstellen eines Assistenten
* Um eine Telefonnummernzuweisung zu entfernen, setzen Sie `phone_number_id` auf `null`
* Um den Webhook zu deaktivieren, setzen Sie `webhook_url` auf `null` oder `is_webhook_active` auf `false`
* Der Assistent muss dem authentifizierten Benutzer gehören, um aktualisiert werden zu können
