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

# API-Keys

> Verbinden Sie VARIOS AI per API-Key mit ihren Anwendungen

<Tip>Startseite > "Admin-Menü" > "API-Keys"</Tip>

## API Keys

API Keys ermöglichen den direkten Zugriff auf **Assistenten** und **vorkonfigurierte Chat-Modelle** über die API, um Integrationen in Drittanwendungen wie Chatbots, Helpdesk-Systeme oder Webportale zu realisieren. Assistenten und Chat-Modelle aus VARIOS AI lassen sich so über einen einzigen OpenAI-kompatiblen Endpunkt in bestehende Workflows einbinden.

<Info>**Info:** Die VARIOS AI API ist OpenAI Kompatibel.</Info>

<Note>
  **Hinweis:** Jeder API Key benötigt eine eigene Lizenz. Stellen Sie sicher,
  dass ausreichend Lizenzen für die geplanten Integrationen vorhanden sind.
</Note>

***

## Funktionen im Überblick

* **Listenansicht**: Zeigt alle vorhandenen API Keys mit Namen an. Jeder Key kann bearbeitet oder gelöscht werden.
* **Suche**: Ermöglicht das schnelle Auffinden einzelner Keys.
* **Neuer API Key**: Über die Schaltfläche *„Neuer API-Key“* kann ein zusätzlicher Schlüssel erstellt werden.

***

## API Key anlegen

Beim Erstellen eines neuen API Keys stehen folgende Optionen zur Verfügung:

1. **Name**\
   Frei wählbare Bezeichnung zur Identifikation des API Keys, z. B. *Shopware Integration*.
2. **Maximale Kosten pro Monat (\$)**
   * Begrenzung der monatlichen Kosten für diesen Key.
   * Wert `0` bedeutet, dass keine Kosten entstehen dürfen.
   * Wert `-1` bedeutet kein Limit.

<Note>
  **Hinweis** Hochrechnung basierend auf Tokens und kann von den realen
  Abrechnungskosten abweichen.
</Note>

3. **Assistenten des API Keys**\
   Auswahl, welche Assistenten über diesen Key nutzbar sind. Nur freigegebene Assistenten können von der angebundenen Anwendung angesprochen werden.
4. **Modelle des API Keys**\
   Auswahl, welche Chat-Modelle mit diesem Key verwendet werden dürfen. Nur Modelle, die die Chat Completions API unterstützen, sind mit der API kompatibel.
5. **Tools des API Keys**\
   Auswahl, welche Tools (Connectoren, Wissensdatenbanken) bei der Nutzung von **Chat-Modellen** (nicht bei Assistenten) mit diesem Key erlaubt sind. In den aufklappbaren Tool-Optionen können Sie DLP aktivieren, um sensible Daten zu schützen, clientseitig definierte Tools sperren oder alle ausgewählten Anwendungs-Tools dem Modell standardmäßig bereitstellen.

***

## Typische Anwendungsfälle

* **Web-Chatbots** mit Zugriff auf interne Wissensdatenbanken
* **Integration in CRM- oder ERP-Systeme** zur automatisierten Verarbeitung von Kundenanfragen
* **Kundensupport-Portale**, die Assistenten für FAQs oder Self-Service bereitstellen
* \**Integration in Automatiesierungstools* zur intelligenten Steuerung automatisierter Workflows
* **Integration in IDEs** zur KI-gestützten Unterstützung bei der Entwicklung

***

## Chat Completions API aufrufen

Nutzen Sie den OpenAI-kompatiblen Endpunkt `/api/v1/chat/completions`. Ersetzen Sie die Basis-URL durch die Adresse Ihrer VARIOS AI-Instanz (z. B. `https://varios-ai.example.com`).

**Authentifizierung:** Im Header `Authorization` wird der API Key als Bearer-Token übergeben.

**Modell-Parameter:** `model` ist entweder eine **Assistenten-ID** oder die **Chat-Modell-ID** eines vorkonfigurierten Modells mit Chat-Completions-Unterstützung. Nutzbar sind nur Assistenten und Chat-Modelle, die diesem API Key zugewiesen sind.

* Die **Chat-Modell-ID** ist der URL der jeweiligen Modell-Einstellungsseite zu entnehmen. (z. B. `varios-ai.example.com/admin/models/**782d877e-b54f-4598-a32e-4a7d16e221e3**`)
* Die **Assistenten-ID** ist der URL der jeweiligen Assistenten-Einstellungsseite zu entnehmen. (z. B. `varios-ai.example.com/admin/assistants/**584ab525-7988-4e5d-8140-b03e4c9ee66c**`)

**Optionale Parameter:**

* `stream`: `true` für Streaming-Antworten, `false` für eine vollständige Antwort in einer Antwort.
* `dlp_active`: `true` aktiviert die Data-Loss-Prevention-Prüfung für die Anfrage, `false` deaktiviert sie.

**Tools:** Im Gegensatz zu rein assistentenbasierten Aufrufen dürfen Anfragen an ein **Chat-Modell** im JSON-Body ein `tools`-Array mit eigenen Funktionsdefinitionen und Verweisen auf **Anwendungs-Tools** enthalten. Um ein Anwendungstool anzubinden, füge ein Tool hinzu, dessen `name` ausschließlich aus dem reservierten Namen besteht; VARIOS AI ergänzt die vollständige Definition. Namensformate:

* **Wissensdatenbank:** `kb_<wissensdatenbank-id>`
* **MCP-Tool:** `mcp_<mcp-tool-id>`
* **OpenAPI-Endpunkt:** `openapi_<openapi-endpunkt-id>`
* **Code-Connector** (z. B. FLUX Konnektor): `pf_<connector-id>`

Eigene Tools werden wie bei OpenAI üblich inklusive `parameters` (JSON Schema) übergeben. Die ID ist analog zur Chat- und Assistant-ID der URL des jeweiligen Tools zu entnehmen.

<Note>
  **Hinweis** Einstellungen am **Chat-Modell** und am **API Key** setzen widersprüchliche Werte aus der eingehenden Anfrage außer Kraft. Ist DLP am API Key aktiviert, unterliegen alle Anfragen mit diesem Key den VARIOS AI Datenschutz-Guardrails, unabhängig vom Wert von `dlp_active` im Payload.
</Note>

### Beispiel: Assistent

Setzen Sie `model` auf die Assistenten-ID. Tools ergeben sich aus der Assistentenkonfiguration; ein `tools`-Array in der Anfrage wird bei Assistenten nicht wie bei Chat-Modellen verwendet.

### Beispiel: Chat-Modell

Setzen Sie `model` auf die Chat-Modell-ID. Sie können `tools` mit Anwendungs-Tool-Namen und eigenen Funktionsdefinitionen wie oben beschreiben mitsenden.

<Note>
  **Hinweis** Chat‑Completions mit Chat‑Modellen entfernen **keine** ungenutzten Felder aus der Anfrage. Das bedeutet, dass alle anbieter-spezifischen Parameter, wie `response_format`, `safety_identifier` oder ähnliche, unverändert an den Provider weitergeleitet werden. VARIOS AI fungiert lediglich als Middleware zwischen Client und Provider und verarbeitet nur eine begrenzte Anzahl definierter Felder.
</Note>

<RequestExample>
  ```bash Assistent theme={null}
  curl -X POST 'https://example.com/api/v1/chat/completions' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "model": "ASSISTANT_ID",
      "stream": false,
      "dlp_active": false,
      "messages": [
        {
          "content": "Warum ist der Himmel blau?",
          "role": "user"
        }
      ]
    }'
  ```

  ```bash Chat-Modell theme={null}
  curl -X POST 'https://example.com/api/v1/chat/completions' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "model": "CHAT_MODELL_ID",
      "stream": false,
      "dlp_active": false,
      "messages": [
        {
          "content": "Warum ist der Himmel blau?",
          "role": "user"
        }
      ],
      "response_format": "your-response-format",
      "tools": [
        {"type": "function", "function": {"name": "mcp_<mcp-tool-id>"}},
        {"type": "function", "function": {"name": "openapi_<openapi-endpunkt-id>"}},
        {"type": "function", "function": {"name": "pf_<connector-id>"}},
        {"type": "function", "function": {"name": "kb_<kb-id>"}},
        {
          "type": "function",
          "function": {
            "name": "eigenes_tool",
            "description": "Beispiel für ein clientseitig definiertes Tool",
            "parameters": {
              "type": "object",
              "properties": {"query": {"type": "string"}},
              "required": ["query"]
            }
          }
        }
      ]
    }'
  ```
</RequestExample>

***

## Verwaltung

* **Bearbeiten**: Anpassung von Name, Kostenlimit, zugewiesenen Assistenten, Chat-Modellen und Tools.
* **Löschen**: Entfernt den API Key dauerhaft (Zugriff wird sofort gesperrt).
