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

# Assistenten aktualisieren

> Die Konfiguration eines bestehenden KI-Assistenten aktualisieren

Dieser Endpunkt ermöglicht es dir, die Konfiguration eines bestehenden KI-Assistenten zu aktualisieren. Alle Felder sind optional – es werden nur die angegebenen Felder aktualisiert. Für ausführliche Feldbeschreibungen und Optionen siehe [Assistent erstellen](/de/api-reference/assistants/create).

### Path Parameter

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

### Request Body

#### Kernfelder

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

<ParamField body="voice_id" type="integer">
  Die zu verwendende Stimmen-ID für den Assistenten. Verwende den Endpunkt [Stimmen abrufen](/de/api-reference/assistants/voices) mit dem Parameter `mode`, um kompatible Stimmen für deinen Engine-Modus zu erhalten.
</ParamField>

<ParamField body="language_id" type="integer">
  Die Sprach-ID für den Assistenten. Verwende den Endpunkt [Sprachen abrufen](/de/api-reference/assistants/languages), um verfügbare Sprachen zu erhalten.
</ParamField>

<ParamField body="type" type="string">
  Der Assistenten-Typ. Optionen: `inbound`, `outbound`
</ParamField>

<ParamField body="mode" type="string">
  Der Engine-Modus. Optionen: `pipeline`, `multimodal`, `dualplex`

  <Warning>
    Das Ändern des Modus setzt modusspezifische Einstellungen auf die Standardwerte für den neuen Modus zurück.
  </Warning>
</ParamField>

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

<ParamField body="initial_message" type="string">
  Die erste Nachricht, die der Assistent beim Anrufstart sprechen wird (max. 200 Zeichen)
</ParamField>

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

#### Modusspezifische Felder

<ParamField body="llm_model_id" type="integer">
  Die zu verwendende LLM-Modell-ID. Gilt nur für den Modus `pipeline`.

  Verwende den Endpunkt [Modelle abrufen](/de/api-reference/assistants/models), um verfügbare Modelle zu erhalten.
</ParamField>

<ParamField body="multimodal_model_id" type="integer">
  Die multimodale Modell-ID. Gilt nur für die Modi `multimodal` und `dualplex`.

  Verwende den Endpunkt [Modelle abrufen](/de/api-reference/assistants/models), um verfügbare multimodale Modelle zu erhalten.
</ParamField>

<ParamField body="chat_llm_fallback_id" type="integer">
  Fallback-LLM-Modell-ID für Tool-Aufrufe in den Modi multimodal/dualplex. Auf `null` setzen zum Entfernen.
</ParamField>

<ParamField body="turn_detection_threshold" type="number">
  Empfindlichkeit der Sprecherwechselerkennung für multimodal/dualplex Modi (0-1). Auf `null` setzen für Automatik.
</ParamField>

#### Sekundärsprachen

<ParamField body="secondary_language_ids" type="integer[]">
  Array mit zusätzlichen Sprach-IDs, die der Assistent sprechen kann. Ersetzt bestehende Sekundärsprachen. Übergib ein leeres Array `[]`, um alle Sekundärsprachen zu entfernen.

  ```json theme={null} theme={null}
  "secondary_language_ids": [2, 3, 4]
  ```
</ParamField>

#### Knowledgebase-Einstellungen

<ParamField body="knowledgebase_id" type="integer">
  Die ID der zu verknüpfenden Knowledgebase. Auf `null` setzen zum Entfernen.
</ParamField>

<ParamField body="knowledgebase_mode" type="string">
  Wie die Knowledgebase verwendet werden soll. Optionen:

  * `function_call` - KI ruft eine Funktion zur Suche auf (erforderlich für multimodal/dualplex)
  * `prompt` - Wissen wird in den Prompt injiziert (nur pipeline)
</ParamField>

#### Organisation

<ParamField body="folder_id" type="integer">
  ID eines [Ordners](/de/api-reference/folders/create), in den dieser Assistent verschoben werden soll. Muss zu deinem Konto gehören. Auf `null` setzen, um ihn unkategorisiert zu machen. Weglassen, um den Ordner unverändert zu lassen.
</ParamField>

<ParamField body="label_ids" type="integer[]">
  Array von [Label](/de/api-reference/labels/create)-IDs für diesen Assistenten. Jedes Label muss zu deinem Konto gehören. Wenn angegeben, **ersetzt** dies die aktuellen Labels des Assistenten. Weglassen, um Labels unverändert zu lassen; `[]` senden, um alle Labels zu entfernen.

  ```json theme={null} theme={null}
  "label_ids": [3, 5]
  ```
</ParamField>

#### Telefonnummer

<ParamField body="phone_number_id" type="integer">
  Die ID einer zuzuweisenden Telefonnummer. Auf `null` setzen zum Aufheben der Zuweisung. Muss zu deinem Konto gehören.

  <Warning>
    Für `inbound` Assistenten kann die Telefonnummer kein Caller-ID-Typ sein und darf nicht bereits einem anderen Inbound-Assistenten zugewiesen sein.
  </Warning>
</ParamField>

#### Benutzerdefinierte Mid-Call Tools

<ParamField body="tool_ids" type="integer[]">
  Array von benutzerdefinierten Mid-Call Tool-IDs zur Synchronisierung. **Ersetzt alle bestehenden Tool-Zuweisungen.** Übergib ein leeres Array `[]`, um alle Tools zu entfernen. Jedes Tool muss zu deinem Konto gehören.

  ```json theme={null} theme={null}
  "tool_ids": [1, 5, 12]
  ```
</ParamField>

#### Integrierte Tools

<ParamField body="tools" type="array">
  Array von integrierten Tools. **Ersetzt alle bestehenden integrierten Tools.** Übergib ein leeres Array `[]`, um alle Tools zu entfernen.

  <Expandable title="Tool-Typen">
    **call\_transfer** - Den Anruf an eine andere Telefonnummer weiterleiten

    * `phone_number` (erforderlich): Telefonnummer für die Weiterleitung
    * `description`: Wann der Anruf weitergeleitet werden soll
    * `custom`: Wenn true, kann die KI die Weiterleitungsnummer dynamisch bestimmen
    * `timezone`: Zeitzone für die Erreichbarkeit der Weiterleitung
    * `warm_transfer`: Nachricht an den Kunden vor der Weiterleitung senden (Standard: `false`)
    * `warm_transfer_message`: Prompt, was die KI vor der Weiterleitung sagen soll (z. B. „Sagen Sie dem Kunden, dass der Anruf weitergeleitet wird.“)

    **warm\_call\_transfer** - Warm-Transfer mit Supervisor-Briefing

    * `supervisor_phone` (erforderlich): Telefonnummer für den Warm-Transfer (z. B. „+14155552001“). Bei aktiviertem `custom_sip` stattdessen SIP-Adresse oder interne Durchwahl.
    * `outbound_phone_id` (erforderlich): ID der Telefonnummer, mit der der Supervisor angerufen wird. Siehe [Telefonnummern abrufen](/de/api-reference/assistants/phone-numbers).
    * `description` (erforderlich): Wann transferieren — beschreibt, wann die KI den Warm-Transfer auslösen soll (z. B. „An einen menschlichen Supervisor weiterleiten, wenn der Kunde mit einer echten Person sprechen möchte.“)
    * `custom_sip`: Eigene SIP-Adresse oder interne Durchwahl statt Telefonnummer (Standard: `false`)
    * `caller_id_mode`: Welche Nummer der Supervisor beim Anruf sieht. Optionen: `outbound_number` (Standard — Outbound-Nummer), `customer_number` (Anrufernummer), `custom` (eigene Nummer)
    * `custom_caller_id`: Eigene Nummer für den Supervisor. Nur bei `caller_id_mode: custom`.
    * `hold_music`: Audio während des Wartens. Optionen: `hold_music` (Standard — Standard-Wartemusik), `none` (Stille)
    * `hold_music_volume`: Lautstärke der Wartemusik, 0–100 (Standard: `80`)
    * `hold_message`: Ansage an den Anrufer vor dem Halten (Standard: „Bitte warten Sie, während ich Sie mit einem Supervisor verbinde.“)
    * `summary_instructions`: Anweisung, wie die KI den Supervisor briefen soll (Standard: „Stellen Sie das Gespräch aus Ihrer Sicht vor:\n- WER ruft an (Name, Firma falls erwähnt)\n- WARUM sie angerufen haben (Ziel oder Problem)\n- WARUM jetzt ein Mensch nötig ist\n\nHalten Sie es kurz (2-3 Sätze).“)
    * `briefing_initial_message`: Erste Nachricht der KI an den Supervisor (Standard: „Hallo! Ich habe einen Anrufer in der Leitung, der Ihre Hilfe braucht. Darf ich Sie kurz einweisen?“)
    * `connected_message`: Ansage an den Anrufer nach Verbindung mit dem Supervisor (Standard: „Sie sind jetzt mit einem Supervisor verbunden. Ich überlasse Sie ihm.“)

    **end\_call** - Den Anruf programmgesteuert beenden

    * `description`: Wann die KI den Anruf beenden soll

    **dtmf\_input** - DTMF-Töne senden (Tastatureingabe)

    * `description`: Wann DTMF-Eingabe verwendet werden soll (z. B. IVR-Navigation)

    **collect\_keypad** - Tastatureingabe vom Anrufer erfassen

    * `timeout`: Sekunden bis zur Eingabe, 1–30 (Standard: `5`)
    * `stop_key`: Taste zum Beenden. Optionen: `#` (Standard), `*`

    **calendar\_integration** - Termine über Cal.com planen

    * `calcom_api_key` (erforderlich): Dein Cal.com API-Schlüssel
    * `calcom_event_slug` (erforderlich): Event-Typ-Slug von Cal.com
    * `calcom_team_slug`: Team-Slug, wenn der Event zu einem Cal.com-Team gehört
    * `calcom_endpoint`: Cal.com API-Region. Optionen: `us` (Standard — `https://api.cal.com`), `eu` (`https://api.cal.eu`), `custom` (nutzt `calcom_custom_endpoint`)
    * `calcom_custom_endpoint`: Eigene Cal.com API-Basis-URL. Nur bei `calcom_endpoint: custom` (z. B. `https://my-calcom-instance.com`).
    * `calcom_booking_fields`: Array benutzerdefinierter Buchungsfelder. Pro Feld: `slug` (erforderlich), `type` (erforderlich, z. B. „text“, „email“, „phone“, „select“), `label` (erforderlich), `required` (Standard: `false`), `options` (Optionen für Select-Felder)
    * `description`: Wann Terminbuchung angeboten werden soll

    **assistant\_transfer** - Gespräch während des Anrufs an einen anderen KI-Assistenten übergeben (tauscht Stimme, LLM und STT zum Ziel-Assistenten)

    * `assistant_id` (erforderlich): ID des Ziel-Assistenten. Muss zu deinem Konto gehören und darf nicht der aktualisierte Assistent selbst sein (kein Self-Transfer).
    * `description`: Wann transferiert werden soll (max. 500 Zeichen, Standard: „Übergeben Sie das Gespräch an diesen Assistenten, wenn es passend ist.“)
    * `message_before_transfer`: Optionale Nachricht, die die KI vor dem Wechsel spricht (max. 500 Zeichen).
    * `speak_transfer_greeting`: Wenn true, spricht der Ziel-Assistent nach dem Transfer seine konfigurierte Erstnachricht (Standard: `true`)
  </Expandable>

  ```json theme={null} theme={null}
  "tools": [
    {
      "type": "dtmf_input",
      "description": "IVR bei Bedarf navigieren"
    },
    {
      "type": "warm_call_transfer",
      "supervisor_phone": "+1234567890",
      "outbound_phone_id": 7,
      "description": "An einen menschlichen Supervisor weiterleiten, wenn der Kunde mit einer echten Person sprechen möchte.",
      "custom_sip": false,
      "caller_id_mode": "outbound_number",
      "hold_music": "hold_music",
      "hold_music_volume": 80,
      "hold_message": "Bitte warten Sie, während ich Sie mit einem Supervisor verbinde.",
      "summary_instructions": "Stellen Sie das Gespräch aus Ihrer Sicht vor:\n- WER ruft an (Name, Firma falls erwähnt)\n- WARUM sie angerufen haben (Ziel oder Problem)\n- WARUM jetzt ein Mensch nötig ist\n\nHalten Sie es kurz (2-3 Sätze).",
      "briefing_initial_message": "Hallo! Ich habe einen Anrufer in der Leitung, der Ihre Hilfe braucht. Darf ich Sie kurz einweisen?",
      "connected_message": "Sie sind jetzt mit einem Supervisor verbunden. Ich überlasse Sie ihm."
    },
    {
      "type": "collect_keypad",
      "timeout": 5,
      "stop_key": "#"
    },
    {
      "type": "assistant_transfer",
      "assistant_id": 14765,
      "description": "An den Support-Assistenten übergeben, wenn der Kunde technische Hilfe braucht.",
      "message_before_transfer": "Gerne — ich verbinde Sie mit unserem Support-Spezialisten.",
      "speak_transfer_greeting": true
    },
    {
      "type": "end_call",
      "description": "Anruf beenden wenn fertig"
    }
  ]
  ```

  <Note>
    In der [Assistenten-Liste](/de/api-reference/assistants/list) wird jedes konfigurierte Tool als `{ "type": "...", "data": { ... } }` zurückgegeben — dieselben Feldnamen wie im Request, aber unter `data` verschachtelt (nicht top-level).
  </Note>
</ParamField>

#### Sprach- und TTS-Einstellungen

<ParamField body="tts_emotion_enabled" type="boolean">
  Ob emotionale Text-to-Speech-Synthese aktiviert werden soll
</ParamField>

<ParamField body="voice_stability" type="number">
  Stimm-Stabilität-Einstellung (0-1). Höher = konsistentere Stimme
</ParamField>

<ParamField body="voice_similarity" type="number">
  Stimm-Ähnlichkeit-Einstellung (0-1). Höher = näher an der Originalstimme
</ParamField>

<ParamField body="speech_speed" type="number">
  Sprechgeschwindigkeits-Multiplikator (0.7-1.2)
</ParamField>

<ParamField body="llm_temperature" type="number">
  LLM-Temperatur-Einstellung (0-1). Niedriger = deterministischer
</ParamField>

<ParamField body="synthesizer_provider_id" type="integer">
  Benutzerdefinierte TTS-Provider-ID. Auf `null` setzen, um den Sprachstandard zu verwenden. Siehe [Synthesizer-Provider abrufen](/de/api-reference/assistants/synthesizer-providers).
</ParamField>

<ParamField body="transcriber_provider_id" type="integer">
  Benutzerdefinierte STT-Provider-ID. Nur Pipeline-Modus. Auf `null` setzen, um den Sprachstandard zu verwenden. Siehe [Transcriber-Provider abrufen](/de/api-reference/assistants/transcriber-providers).
</ParamField>

#### Anrufverhalten-Einstellungen

<ParamField body="allow_interruptions" type="boolean">
  Ob Unterbrechungen durch den Anrufer erlaubt werden sollen.

  <Warning>Kann für die Modi `multimodal` und `dualplex` nicht deaktiviert werden.</Warning>
</ParamField>

<ParamField body="fillers" type="boolean">
  Ob Füller-Audio während der Verarbeitung verwendet werden soll.

  <Warning>Nur für den Modus `pipeline` verfügbar.</Warning>
</ParamField>

<ParamField body="filler_config" type="object">
  Benutzerdefinierte Füller-Profile pro Kategorie. Ersetzt die bestehende Füller-Konfiguration. Jede Kategorie ist ein Array kurzer Phrasen.

  * `positive`: Füller für zustimmende Antworten
  * `negative`: Füller für ablehnende/neutrale Antworten
  * `question`: Füller beim Verarbeiten einer Frage
  * `neutral`: Füller für neutrale Bestätigungen

  ```json theme={null} theme={null}
  "filler_config": {
    "positive": ["Super!", "Perfekt!"],
    "negative": ["Hmm.", "Verstehe."],
    "question": ["Gute Frage.", "Einen Moment."],
    "neutral": ["Ok.", "Notiert."]
  }
  ```
</ParamField>

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

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

<ParamField body="wait_for_customer" type="boolean">
  Wenn wahr, wartet der Assistent darauf, dass der Kunde zuerst spricht
</ParamField>

#### Timing-Einstellungen

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

<ParamField body="max_silence_duration" type="integer">
  Maximale Dauer der Stille vor erneutem Engagement in Sekunden (1-360)
</ParamField>

<ParamField body="max_initial_silence_duration" type="integer">
  Maximale Stille zu Beginn des Anrufs vor dem Beenden (1-120 Sekunden). Auf `null` setzen zum Deaktivieren.
</ParamField>

<ParamField body="ringing_time" type="integer">
  Maximale Klingelzeit vor dem Abbruch (1-60 Sekunden)
</ParamField>

#### Re-Engagement-Einstellungen

<ParamField body="reengagement_interval" type="integer">
  Intervall für erneutes Engagement in Sekunden (7-600)
</ParamField>

<ParamField body="reengagement_prompt" type="string">
  Benutzerdefinierter Prompt für Re-Engagement-Nachrichten (max. 1000 Zeichen). Auf `null` setzen, um den Standard zu verwenden.
</ParamField>

#### Voicemail-Einstellungen

<ParamField body="end_call_on_voicemail" type="boolean">
  Ob der Anruf beendet werden soll, wenn eine Mailbox erkannt wird
</ParamField>

<ParamField body="voice_mail_message" type="string">
  Nachricht, die auf der Mailbox hinterlassen werden soll, bevor aufgelegt wird (max. 1000 Zeichen). Auf `null` setzen zum Deaktivieren.
</ParamField>

#### Endpunkterkennung

<ParamField body="endpoint_type" type="string">
  Typ der Sprachaktivitätserkennung. Optionen: `vad`, `ai`
</ParamField>

<ParamField body="endpoint_sensitivity" type="number">
  Endpunkt-Sensibilitätslevel (0-5)
</ParamField>

<ParamField body="interrupt_sensitivity" type="number">
  Unterbrechungs-Sensibilitätslevel (0-5)
</ParamField>

<ParamField body="min_interrupt_words" type="integer">
  Mindestanzahl an Wörtern, bevor eine Unterbrechung zulässig ist (0-10). Auf `null` setzen zum Deaktivieren.
</ParamField>

#### Ambiente-Sound

<ParamField body="ambient_sound" type="string">
  Hintergrund-Ambiente-Sound. Optionen: `off`, `office`, `city`, `forest`, `crowded_room`, `cafe`, `nature`
</ParamField>

<ParamField body="ambient_sound_volume" type="number">
  Lautstärke des Ambiente-Sounds (0-1)
</ParamField>

#### Webhook-Konfiguration

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

<ParamField body="webhook_url" type="string">
  Die Webhook-URL für Post-Call-Benachrichtigungen. Auf `null` setzen zum Entfernen.
</ParamField>

<ParamField body="send_webhook_only_on_completed" type="boolean">
  Ob Webhooks nur bei erfolgreich abgeschlossenen Anrufen gesendet werden sollen (nicht bei fehlgeschlagenen/keine-Antwort)
</ParamField>

<ParamField body="include_recording_in_webhook" type="boolean">
  Ob die Aufzeichnungs-URL in der Webhook-Payload enthalten sein soll
</ParamField>

#### Post-Call-Evaluation

<ParamField body="post_call_evaluation" type="boolean">
  Ob die KI-basierte Post-Call-Evaluation aktiviert werden soll
</ParamField>

<ParamField body="post_call_schema" type="array">
  Schema-Definition für die Extraktion von Post-Call-Daten. Ersetzt das bestehende Schema.

  <Expandable title="post_call_schema Eigenschaften">
    <ParamField body="name" type="string" required>
      Feldname (3-16 Zeichen, kleingeschrieben, nur alphanumerisch und Unterstriche)
    </ParamField>

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

    <ParamField body="description" type="string" required>
      Beschreibung dessen, was dieses Feld repräsentiert (3-255 Zeichen)
    </ParamField>
  </Expandable>
</ParamField>

#### Variablen

<ParamField body="variables" type="object">
  Schlüssel-Wert-Paare für benutzerdefinierte Variablen. **Ersetzt alle bestehenden Variablen.**

  ```json theme={null} theme={null}
  "variables": {
    "company_name": "Acme Corp",
    "product": "Premium Widget"
  }
  ```
</ParamField>

***

## Beispiel-Requests

### Grundlegende Einstellungen aktualisieren

```json theme={null} theme={null}
{
  "name": "Aktualisierter Assistenten-Name",
  "initial_message": "Hallo! Wie kann ich Ihnen heute helfen?",
  "max_duration": 900
}
```

### In multimodalen Modus wechseln

```json theme={null} theme={null}
{
  "mode": "multimodal",
  "voice_id": 41,
  "multimodal_model_id": 1,
  "chat_llm_fallback_id": 2,
  "knowledgebase_mode": "function_call"
}
```

### Tools und Knowledgebase aktualisieren

```json theme={null} theme={null}
{
  "tool_ids": [1, 5, 12],
  "knowledgebase_id": 3,
  "knowledgebase_mode": "prompt"
}
```

### Re-Engagement und Voicemail aktualisieren

```json theme={null} theme={null}
{
  "reengagement_interval": 15,
  "reengagement_prompt": "Sind Sie noch da? Ich bin hier, um zu helfen.",
  "end_call_on_voicemail": true,
  "voice_mail_message": "Hallo, bitte rufen Sie uns bei Gelegenheit zurück."
}
```

### Optionale Einstellungen entfernen

```json theme={null} theme={null}
{
  "phone_number_id": null,
  "webhook_url": null,
  "tool_ids": [],
  "secondary_language_ids": []
}
```

***

## Antwort

<ResponseField name="message" type="string">
  Erfolgsmeldung zur Bestätigung der Assistenten-Aktualisierung
</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 (`inbound` oder `outbound`)
    </ResponseField>

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

<ResponseExample>
  ```json 200 Erfolgreiche Antwort theme={null} theme={null}
  {
    "message": "Assistent erfolgreich aktualisiert",
    "data": {
      "id": 789,
      "name": "Aktualisierter Sales-Assistent",
      "status": "active",
      "type": "outbound",
      "mode": "pipeline"
    }
  }
  ```

  ```json 404 Nicht gefunden theme={null} theme={null}
  {
    "message": "Assistent nicht gefunden"
  }
  ```

  ```json 422 Validierungsfehler theme={null} theme={null}
  {
    "message": "Validierung fehlgeschlagen",
    "errors": {
      "speech_speed": ["Die Sprechgeschwindigkeit muss zwischen 0,7 und 1,2 liegen."],
      "voice_id": ["Die gewählte Stimme ist nicht mit dem gewählten Engine-Typ kompatibel."],
      "allow_interruptions": ["Unterbrechungen können im multimodalen oder Dualplex-Modus nicht deaktiviert werden."]
    }
  }
  ```
</ResponseExample>

***

## Hinweise

* Nur die Felder, die du im Request Body angibst, werden aktualisiert
* Um optionale Felder zu entfernen, setze diese explizit auf `null`
* Um Arrays zu leeren (Tools, Sekundärsprachen), übergib ein leeres Array `[]`
* Der Assistent muss dem authentifizierten Benutzer gehören
* Verwende den Endpunkt [Stimmen abrufen](/de/api-reference/assistants/voices) mit dem Parameter `mode`, um kompatible Stimmen zu erhalten
* Für multimodal/dualplex Modi muss `knowledgebase_mode` auf `function_call` gesetzt sein
* In den Modi multimodal/dualplex können Unterbrechungen (`allow_interruptions`) nicht deaktiviert werden
* Ein Moduswechsel setzt modusspezifische Einstellungen (LLM-Modell, multimodales Modell, Provider) zurück
