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

> Einen neuen KI-Assistenten mit festgelegter Konfiguration erstellen

Dieser Endpunkt ermöglicht es Ihnen, einen neuen KI-Assistenten mit umfassenden Konfigurationsoptionen zu erstellen.

### Anfragekörper

#### Wichtige Pflichtfelder

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

<ParamField body="voice_id" type="integer" required>
  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" required>
  Der Sprachname für den Assistenten (max. 100 Zeichen)
</ParamField>

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

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

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

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

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

<ParamField body="system_prompt" type="string" required>
  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 (muss in den Telefonnummern des Benutzers vorhanden sein)
</ParamField>

<ParamField body="tool_ids" type="integer[]" optional>
  Array von Mid-Call-Tool-IDs, die dem Assistenten zugeordnet werden sollen. 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 (erforderlich, wenn is\_webhook\_active true ist)
</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 Erstellung des Assistenten bestätigt
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="Eigenschaften">
    <ResponseField name="id" type="integer">
      Die eindeutige Kennung des erstellten 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="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 Assistentenerstellung hinweist
    </ResponseField>
  </Expandable>
</ResponseField>

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

  ```json 422 Validation Error theme={null}
  {
    "message": "Validation failed",
    "errors": {
      "assistant_name": [
        "The assistant name field is required."
      ],
      "webhook_url": [
        "The webhook url field is required when is webhook active is true."
      ]
    }
  }
  ```

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

### Hinweise

* Alle Pflichtfelder müssen für eine erfolgreiche Assistentenerstellung angegeben werden
* Der Assistent wird mit Standardeinstellungen für alle nicht angegebenen optionalen Felder erstellt
* Die Telefonnummernzuweisung ist optional, aber die Telefonnummer muss dem authentifizierten Benutzer gehören
* Die Webhook-URL ist nur erforderlich, wenn `is_webhook_active` auf true gesetzt ist
* Stimmen- und Sprachkennungen müssen den verfügbaren Optionen im System entsprechen
