Assistant Files API
API zur Verwaltung von Dateien in der Wissensbasis eines Assistenten
Assistant Files API
Die Assistant Files API ermöglicht das programmgesteuerte Verwalten von Dateien in der Wissensbasis eines Assistenten. Diese API ist ideal für die automatische Synchronisation von Dokumenten aus externen Systemen.
Diese API ist eine Premium-Funktion und muss für Ihre Organisation aktiviert werden. Kontaktieren Sie den Support, um Zugang zu beantragen.
Authentifizierung
Diese API verwendet Benutzer-API-Schlüssel. Diese können in den Benutzereinstellungen erstellt werden und haben das Präfix sk_meingpt_.
curl -X GET "https://app.meingpt.com/api/assistant-files/v1/assistants/{assistantId}/files" \
-H "Authorization: Bearer $MEINGPT_API_KEY"Berechtigungen
- Dateien auflisten / Metadaten abrufen: Erfordert
VIEW,EDIToderOWNERBerechtigung für den Assistenten - Dateien löschen: Erfordert
EDIToderOWNERBerechtigung für den Assistenten
Endpunkte
Alle Dateien auflisten
GET /api/assistant-files/v1/assistants/{assistantId}/filesPfad-Parameter:
assistantId: Die ID des Assistenten
Antwort:
{
"files": [
{
"id": "doc_abc123",
"originalName": "handbuch.pdf",
"mimeType": "application/pdf",
"size": 245678,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:35:00Z",
"availableDerivations": ["text", "chunks"]
}
],
"count": 1,
"assistantId": "asst_xyz789"
}Wenn der Assistent noch keine Dateien hat, wird eine leere Liste zurückgegeben.
Datei-Metadaten abrufen
GET /api/assistant-files/v1/assistants/{assistantId}/files/{documentId}Pfad-Parameter:
assistantId: Die ID des AssistentendocumentId: Die ID des Dokuments
Antwort:
{
"id": "doc_abc123",
"originalName": "handbuch.pdf",
"size": 245678,
"mimeType": "application/pdf",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:35:00Z",
"requestedType": "original",
"available": true,
"isOriginal": true,
"isDerived": false,
"processingStatus": "completed",
"availableDerivations": [
{
"type": "text",
"size": 45000,
"createdAt": "2024-01-15T10:32:00Z",
"status": "completed"
},
{
"type": "chunks",
"size": 52000,
"createdAt": "2024-01-15T10:35:00Z",
"status": "completed"
}
],
"assistantId": "asst_xyz789"
}Nutzen Sie updatedAt und size zur Erkennung von Dateiänderungen. CloudRAG speichert keine Datei-Hashes.
Datei löschen
DELETE /api/assistant-files/v1/assistants/{assistantId}/files/{documentId}Pfad-Parameter:
assistantId: Die ID des AssistentendocumentId: Die ID des zu löschenden Dokuments
Antwort:
{
"success": true,
"deletedDocuments": 3,
"originalId": "doc_abc123"
}Das Löschen einer Datei entfernt auch alle abgeleiteten Versionen (Text-Extraktion, Chunks, etc.).
Dateien hochladen
Das Hochladen von Dateien erfolgt über die bestehende interne API und erfordert eine aktive Benutzersitzung:
POST /api/organizations/{organizationId}/documentEngine/documents/uploadForm-Data:
file: Die hochzuladende DateistoreId:assistant:{assistantId}
Das Hochladen über die externe API mit API-Schlüssel ist derzeit nicht unterstützt. Nutzen Sie die Web-Oberfläche oder die interne API mit Sitzungs-Authentifizierung.
AssistantId finden
- Gehen Sie in den Bearbeitungsmodus Ihres Assistenten
- In der URL finden Sie hinter
/assistants/die AssistantId

Fehlerbehandlung
Die API gibt strukturierte Fehlerantworten zurück:
{
"status": "error",
"message": "Assistant not found"
}HTTP-Statuscodes:
400- Ungültige Eingabe401- Ungültiger oder fehlender API-Schlüssel403- Feature nicht aktiviert oder keine Berechtigung404- Assistent oder Datei nicht gefunden500- Serverfehler
Anwendungsbeispiele
Dateien mit externem System synchronisieren
import requests
API_KEY = "sk_meingpt_..."
ASSISTANT_ID = "cmbhsj4kx0001lt01er0sc3v1"
BASE_URL = "https://app.meingpt.com/api/assistant-files/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Alle vorhandenen Dateien abrufen
response = requests.get(
f"{BASE_URL}/assistants/{ASSISTANT_ID}/files",
headers=headers
)
files = response.json()["files"]
# Datei-Index erstellen für Vergleich
existing_files = {f["originalName"]: f for f in files}
# Veraltete Dateien löschen
for filename, file_info in existing_files.items():
if should_delete(filename):
requests.delete(
f"{BASE_URL}/assistants/{ASSISTANT_ID}/files/{file_info['id']}",
headers=headers
)