---
title: "Assistants"
canonical_url: "https://meingpt.com/docs/api/assistants"
language: de
---

# Assistants

## KI-Assistenten-Endpunkte

## Zeitverhalten bei synchronen API-Aufrufen

Ein Assistenten-Lauf über die API läuft synchron und stellt keinen separaten Status- oder Polling-Endpunkt bereit. Die Anfrage bleibt offen, bis der Assistent fertig ist oder ein Infrastruktur-Timeout eintritt, typischerweise nach ca. **fünf Minuten**. Das ist unabhängig vom Timeout Deines eigenen HTTP-Clients — ist dessen Timeout kürzer, bricht er die Verbindung zuerst ab, und Du bekommst die Antwort des Assistenten nie zu sehen, auch wenn der Lauf serverseitig weiterlief. Konfiguriere das Timeout Deines Clients so, dass es die erwartete Laufzeit abdeckt. Bei der Verarbeitung großer oder mehrerer Dateien, komplexen Werkzeug-Aufrufen oder umfangreichen Ausgaben kann ein Lauf dieses Zeitfenster erreichen. Plane für lang laufende Aufrufe entsprechend, oder löse sie asynchron über eine externe Automatisierung (z. B. Make) aus, die den Abschluss separat prüft.

## Dateien an einen Assistenten-Lauf anhängen

Du kannst einem Assistenten-Lauf Dateien mitgeben. Der aktuell tatsächlich durchgesetzte Größenlimit liegt bei **50 MB pro Datei** — die in der API-Referenz teils genannten 150 MB sind nicht der Wert, der serverseitig geprüft wird. Prüfe im Zweifel die [API-Referenz](/docs/api/assistants) für den jeweils aktuellen Wert, da sich dieser ändern kann.

Konnektoren (z. B. Outlook, SharePoint, Confluence), die an einen Assistenten angebunden sind, stehen auch bei einem Assistenten-Lauf über die externe API zur Verfügung. Sie werden gegen die Verbindungen des Nutzer-Accounts aufgelöst, dem der verwendete API-Key gehört — dieser Account muss den Dienst also selbst verbunden haben. Das gilt für jede persönliche Verbindung (OAuth-Konnektoren und eigene MCP-Server): Verbindungen anderer Mitglieder werden nie herangezogen, und ist der Konnektor unter dem Account des API-Keys nicht verbunden, läuft der Assistent einfach ohne ihn. Ausgenommen sind im Team geteilte eigene MCP-Server, die sich über fest hinterlegte Header authentifizieren: Sie wirken wie ein Service-Account und funktionieren für jeden Aufrufer — genau wie im Chat.

Auch bestimmte eingebaute Tools stehen bei einem Assistenten-Lauf über die externe API **nicht automatisch** zur Verfügung, selbst wenn sie im interaktiven Chat für denselben Assistenten sichtbar sind: **Websuche, Code Sandbox, Foliengenerierung, Artefakte (Dokumente) und Bildgenerierung** werden im Chat teils nur über einen chat-weiten Schalter aktiviert und sind nicht dauerhaft am Assistenten gespeichert. Über die API stehen sie nur zur Verfügung, wenn sie explizit als Tool am Assistenten selbst hinterlegt sind (Reiter "Tools" im Assistenten-Editor). Datenpools, direkt am Assistenten hochgeladene Dateien und die Meetings-Wissensquelle sind davon nicht betroffen - sie sind am Assistenten selbst gespeichert und funktionieren über die API genauso wie im Chat.

Datenpools (Wissensquellen / RAG), die an einen Assistenten angebunden sind, stehen ebenfalls bei einem Assistenten-Lauf über die externe API zur Verfügung. Voraussetzung ist, dass der Nutzer-Account, dem der verwendete API-Key gehört, selbst Zugriff auf den jeweiligen Datenpool hat (siehe Abschnitt "Zugriffskontrolle" im Datenpools-Dokument). Diese Freigabe ist unabhängig davon, mit wem der Assistent selbst geteilt wurde.

Die Freigabe eines Datenpools prüfst oder änderst Du unter **Einstellungen → Datenquellen** - dieser Bereich ist nur für Workspace-Admins sichtbar. Bist Du selbst kein Admin, bitte eine:n Admin, die Freigabe für den betroffenen Datenpool zu prüfen, auch wenn Du den Assistenten selbst erstellt hast.

## Zugriff auf den Denkprozess (Reasoning) des Modells

Bei Modellen mit sichtbarem Denkprozess (siehe "Reasoning-Tag" bei [Modelle](/docs/platform/models)) steckt dieser Denkprozess in der `messages`-Liste der Lauf-Antwort, nicht in `text`. Er erscheint als ein oder mehrere Content-Teile vom Typ `"reasoning"` innerhalb einer Assistant-Nachricht, neben `"text"`-Teilen und eventuellen Tool-Aufrufen:

```json
{
  "role": "assistant",
  "content": [
    { "type": "reasoning", "text": "..." },
    { "type": "text", "text": "..." }
  ]
}
```

Um ihn auszulesen, iterierst du über `messages`, behältst die Einträge mit `role: "assistant"` und sammelst den `text` jedes Content-Teils mit `type: "reasoning"`.

Das gilt nur für die **Assistenten-Lauf-API**. Die [Completions-API](/docs/api/completions) liefert keinen Reasoning-Inhalt zurück - ihre Antwort enthält nur `choices[0].message.content` und `tool_calls`, ohne entsprechendes Feld.

Ob Reasoning-Teile vorhanden sind und wie detailliert sie ausfallen, hängt vom Modell und seinem Reasoning-Aufwand ab - manche Modelle denken intern, ohne einen sichtbaren Trace auszugeben, und der Reasoning-Aufwand/-Level lässt sich über die API aktuell nicht einstellen (siehe [Completions](/docs/api/completions)).

## AssistantId finden
1. Gehe in den Bearbeitungsmodus deines Assistenten
2. In der URL findest du hinter `/assistants/` die AssistantId

![AssistantId im Assistant Bearbeitungsmodus](/images/assistants/find_assistantID.png)
