Quickstart für Entwickler¶
Ziel: in weniger als zehn Minuten den ersten authentifizierten API-Aufruf gegen Expecto absetzen, eine Session erstellen und denselben Ablauf über die MCP-Oberfläche durchlaufen. Sie konfigurieren hier weder Projekte noch Entities — das ist der Pfad der Projektverantwortlichen. Wir gehen davon aus, dass das bereits eingerichtet ist und Sie einen API-Schlüssel haben.
Voraussetzungen¶
- Ein API-Schlüssel — wird vom Organisations-Administrator unter Org-Einstellungen → API-Schlüssel ausgestellt. Behandeln Sie ihn wie ein Passwort; er gewährt Zugriff auf alles, was Ihre Organisation sehen kann. Wenn Sie keinen haben, fragen Sie die Person, die Ihre Organisation eingerichtet hat. Die API-Schlüssel-Anleitung der Org-Admins beschreibt die Ausstellung.
- Ihre Expecto-Basis-URL. Für die gehostete Instanz ist das
https://expecto-app.onrender.com. Ersetzen Sie untenEXPECTO_BASE_URLdurch die Instanz, die Sie erhalten haben. - Ein Terminal mit
curlund optional Python ≥ 3.10 für den MCP-Schritt. Jeder MCP-kompatible Client (Claude Desktop, Claude Code, Cursor, ein eigener Client) eignet sich ebenfalls.
export EXPECTO_BASE_URL="https://expecto-app.onrender.com"
export EXPECTO_API_KEY="hier-den-schluessel-einsetzen"
Alle folgenden Beispiele setzen voraus, dass diese beiden Variablen gesetzt sind.
Schritt 1 — Verbindung prüfen¶
Rufen Sie den Endpunkt /api/me auf. Er gibt Organisation und
Mitgliedschaft hinter Ihrem API-Schlüssel zurück. Wenn das klappt,
ist Ihr Schlüssel gültig und Ihr Netzwerk erreicht die API.
curl -sS \
-H "X-API-Key: $EXPECTO_API_KEY" \
"$EXPECTO_BASE_URL/api/me" | jq .
Sie sollten ein JSON-Objekt mit Benutzer, Organisation und Rolle sehen.
401 bedeutet, dass der Schlüssel falsch oder widerrufen ist; 403
heißt meist, dass der Schlüssel zu einer anderen Organisation gehört
als die angefragte Ressource.
Die API interaktiv erkunden
Jeder unten verwendete Endpunkt ist in der interaktiven Swagger-UI
unter <EXPECTO_BASE_URL>/api/docs dokumentiert (ReDoc unter
/api/redoc). Klicken Sie auf Authorize, fügen Sie Ihren
API-Schlüssel ein und testen Sie Aufrufe direkt im Browser.

Schritt 2 — Ihre Projekte auflisten¶
Jeder Empfangs-Use-Case lebt innerhalb eines Projekts. Listen Sie diejenigen auf, die Ihr Schlüssel sehen kann:
curl -sS \
-H "X-API-Key: $EXPECTO_API_KEY" \
"$EXPECTO_BASE_URL/api/projects" | jq '.items[] | {id, name}'
Wählen Sie eines aus und speichern Sie die ID — die meisten weiteren Aufrufe brauchen einen Projektkontext, direkt oder über eine Session:
export PROJECT_ID="..."
Schritt 3 — Session anlegen und Datei hochladen¶
Eine Session ist ein Lieferakt: ein Lieferant + ein Zeitraum + ein Satz Dateien durch die Pipeline. Um Daten per API einzureichen, erstellen Sie eine Session, hängen Dateien an und stoßen die Pipeline an.
Anlegen:
curl -sS -X POST \
-H "X-API-Key: $EXPECTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_id": "'"$PROJECT_ID"'",
"data_contract_id": "PUT_CONTRACT_ID_HERE",
"period_label": "2026-06"
}' \
"$EXPECTO_BASE_URL/api/sessions" | jq .
Speichern Sie die zurückgegebene id als SESSION_ID. Laden Sie dann
eine Datei für die im Vertrag definierte Quellrolle hoch:
curl -sS -X POST \
-H "X-API-Key: $EXPECTO_API_KEY" \
-F "source_role=buchungsdatei" \
-F "file=@/pfad/zur/datei.csv" \
"$EXPECTO_BASE_URL/api/sessions/$SESSION_ID/files" | jq .
Pipeline starten (asynchron):
curl -sS -X POST \
-H "X-API-Key: $EXPECTO_API_KEY" \
"$EXPECTO_BASE_URL/api/sessions/$SESSION_ID/run"
Antwort 202 Accepted mit einer job_id. Pollen Sie die Session
auf den Status — parse → transform → check:
curl -sS \
-H "X-API-Key: $EXPECTO_API_KEY" \
"$EXPECTO_BASE_URL/api/sessions/$SESSION_ID" | jq '{status, health, stages}'
Sobald health auf ready steht, hat die Validierung bestanden und
die Session kann confirmed und dann approved werden, um das
Exportpaket zu erzeugen.
Schritt 4 — Dasselbe über MCP¶
Expecto stellt einen MCP-Server unter <EXPECTO_BASE_URL>/mcp/ bereit.
Die Authentifizierung erfolgt über denselben X-API-Key-Header.
Fügen Sie ihn in Ihrem MCP-Client hinzu. Für Claude Desktop bearbeiten
Sie claude_desktop_config.json:
{
"mcpServers": {
"expecto": {
"url": "https://expecto-app.onrender.com/mcp/",
"transport": "http",
"headers": {
"X-API-Key": "ihr-api-schluessel-hier"
}
}
}
}
Nach dem Verbinden stehen Werkzeuge wie list_projects, get_project,
create_session, upload_session_file, run_session_pipeline,
list_sessions, get_session, get_session_violations zur Verfügung.
Der Ablauf aus Schritt 3 wird zu:
list_projects → eines auswählen
create_session(project_id, data_contract_id, period="2026-06")
upload_session_file(session_id, source_role="buchungsdatei", file=...)
run_session_pipeline(session_id)
get_session(session_id)
Die meisten KI-Assistenten verketten diese Aufrufe selbständig, sobald das Ziel formuliert ist ("Juni-Daten für IntReal in Projekt X einreichen") — das ist der Hauptgrund, MCP statt REST für menschen-gesteuerte Einreichungen zu nutzen.
Wohin als Nächstes¶
| Wenn Sie… | Hier weitermachen |
|---|---|
| Jeden REST-Endpunkt nachschlagen wollen | REST-API-Referenz — Coming soon. Interaktive Spezifikation unter /api/docs auf Ihrer Instanz |
| Alle MCP-Werkzeuge durchsehen | MCP-Werkzeugkatalog |
| Das zugrundeliegende Domain-Modell verstehen | Konzepte |
| Einen reicheren "Daten einreichen"-Ablauf aus CI | CI und Automatisierung einrichten — Coming soon. |
| Ergebnisse nachgelagert an BuiltAPI weitergeben | Nachgelagert mit BuiltAPI integrieren — Coming soon. |