API-Referenz
Seemodo hat zwei API-Schichten: eine Backend-API (Go-Server) für Projektverwaltung, Chat, Billing und Integrationen, und Frontend-API-Routen (Next.js) für KI-Generierung, Sandbox-Operationen und Hilfsfunktionen.Backend-API
Basis-URL
Authentifizierung
Alle Backend-Anfragen benötigen ein Bearer-Token im Authorization-Header:Benutzer & Einstellungen
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/user | GET | Aktuelles Benutzerprofil abrufen |
/user | PATCH | Benutzer aktualisieren (display_name, etc.) |
/user/workspaces | GET | Workspaces des Benutzers auflisten |
/user/rewards | GET | Rewards/Empfehlungen abrufen |
/user/preferences/llm | GET | LLM-Modell-Einstellungen abrufen |
/user/preferences/llm | PATCH | LLM-Modus setzen (router/fixed), Provider, Modell |
/user/preferences/llm/options | GET | Verfügbare LLM-Provider und Modelle |
/user/preferences/tool-preferences | GET | Tool-Genehmigungen abrufen |
/user/preferences/tool-preferences/{integration}/{tool} | POST | Tool-Einstellung setzen (ask/never_ask) |
Workspaces
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/workspaces/{id} | GET | Workspace-Details |
/workspaces/{id} | PATCH | Workspace aktualisieren |
/workspaces/{id}/members | GET | Mitglieder auflisten |
/workspaces/{id}/members/invite | POST | Mitglied einladen (E-Mail, Rolle) |
/workspaces/{id}/members/{memberId} | DELETE | Mitglied entfernen |
/workspaces/{id}/invitations | GET | Ausstehende Einladungen |
/workspaces/{id}/invitations/{invitationId} | DELETE | Einladung widerrufen |
/invitations/{id}/accept | POST | Einladung annehmen |
/workspaces/{id}/projects | GET | Projekte auflisten (optional: client_id, folder_id) |
/workspaces/{id}/projects | POST | Neues Projekt erstellen |
/workspaces/{id}/folders | GET | Ordner auflisten |
/workspaces/{id}/balance | GET | Credit-Guthaben (täglich, monatlich, Rollover, Top-up) |
/workspaces/{id}/analytics | GET | Analytics-Zusammenfassung |
Projekte
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/projects/{id} | GET | Projektdetails |
/projects/{id} | PATCH | Projekt aktualisieren (Name, Beschreibung, etc.) |
/projects/{id} | DELETE | Projekt löschen |
/projects/{id}/source-code | GET | Quellcode abrufen |
/projects/{id}/trajectory | GET | Chat-Verlauf (Events, Anzahl) |
/projects/{id}/memory | GET | Projektgedächtnis/Kontext |
/projects/{id}/commits | GET | Commit-History |
/projects/{id}/revert/{commitSHA} | POST | Zu bestimmtem Commit zurückkehren |
/projects/{id}/commits/{sha}/bookmark | POST | Commit-Lesezeichen umschalten |
/projects/{id}/transfer | POST | Projekt in anderen Workspace übertragen |
/projects/{id}/integrations | GET | Projekt-Integrationen (Supabase, GitHub) |
/projects/{id}/collaborators | GET | Mitarbeiter auflisten |
/projects/{id}/collaborators | POST | Mitarbeiter hinzufügen (E-Mail, Zugriffsebene) |
/projects/{id}/collaborators/{collabId} | DELETE | Mitarbeiter entfernen |
Chat (AI Coder)
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/projects/{id}/chat | POST | Nachricht an KI senden (chat_only, agent_mode_enabled) |
/projects/{id}/chat/stream | GET | SSE-Stream für Echtzeit-KI-Antworten |
/projects/{id}/chat/approve-tool | POST | Tool-Nutzung genehmigen/ablehnen |
/projects/{id}/chat/answer-question | POST | KI-Frage beantworten (z.B. Supabase-Verbindung) |
/projects/{id}/chat/queue | GET | Nachrichten-Queue abrufen |
/projects/{id}/chat/queue/add | POST | Nachricht zur Queue hinzufügen |
/projects/{id}/chat/queue/{itemId} | DELETE | Element aus Queue entfernen |
/projects/{id}/chat/queue/reorder | POST | Queue-Reihenfolge ändern |
/projects/{id}/chat/queue/pause | POST | Queue pausieren/fortsetzen |
Sandbox
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/projects/{id}/sandbox/start | POST | Sandbox für Projekt starten |
/projects/{id}/sandbox/url | GET | Sandbox-URL abrufen |
Deployments
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/projects/{id}/deployments | GET | Alle Deployments auflisten |
/projects/{id}/deployments | POST | Deployment erstellen (Subdomain, Metadaten) |
/projects/{id}/deployments/{deployId} | GET | Deployment-Details |
/projects/{id}/deployments/{deployId} | DELETE | Deployment löschen |
GitHub Integration
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/auth/github/url | GET | GitHub OAuth-URL abrufen |
/auth/callback/github | POST | OAuth-Code austauschen |
/users/github/status | GET | GitHub-Verbindungsstatus prüfen |
/users/github/disconnect | POST | GitHub-Konto trennen |
/users/github/organizations | GET | GitHub-Organisationen auflisten |
/projects/{id}/github/connect | POST | Projekt mit GitHub verbinden |
/projects/{id}/github/disconnect | POST | Projekt von GitHub trennen |
/projects/{id}/github/status | GET | Projekt-GitHub-Status |
/projects/{id}/github/push | POST | Code zu GitHub pushen |
/projects/{id}/github/pull | POST | Code von GitHub pullen |
/projects/{id}/github/diff | GET | Diff zwischen lokal und remote |
Billing
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/billing/plans | GET | Verfügbare Pläne mit Tiers abrufen |
/workspaces/{id}/billing/checkout | POST | Stripe-Checkout-Session erstellen |
/workspaces/{id}/billing/portal | POST | Stripe-Billing-Portal öffnen |
/workspaces/{id}/balance | GET | Credit-Guthaben |
/workspaces/{id}/balance/auto-topup | GET | Auto-Topup-Einstellungen |
/workspaces/{id}/balance/auto-topup | PUT | Auto-Topup aktualisieren |
/workspaces/{id}/user-monthly-usage | GET | Monatliche Nutzungsstatistiken |
/workspaces/{id}/credits/pricing | GET | Preis pro Credit |
Connectors & Integrationen
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/connectors/standard | GET | Standard-Connectors auflisten |
/connectors/mcp | GET | MCP-Connectors auflisten |
/connections/standard | GET | Aktive Verbindungen |
/projects/{id}/integrations/supabase/connect | POST | Supabase verbinden |
/projects/{id}/integrations/supabase | DELETE | Supabase trennen |
/projects/{id}/workspace/supabase-organizations | GET | Supabase-Organisationen |
/projects/{id}/workspace/supabase-organizations/{slug}/projects | GET | Supabase-Projekte einer Org |
KI-Asset-Generierung
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/projects/{id}/generate/description | POST | Site-Beschreibung generieren |
/projects/{id}/generate/favicon | POST | Favicon-SVG generieren |
/projects/{id}/generate/og-image | POST | OG-Image-SVG generieren |
Frontend-API-Routen
Next.js API-Routen für KI-Generierung, Sandbox und Utilities. Laufen unter/api/... auf dem Frontend-Server.
Generierung
| Route | Beschreibung |
|---|---|
/api/generate-screen | Einzelnen HiFi-Screen generieren |
/api/generate-wireframe | Wireframe-Layout generieren |
/api/generate-flow | Multi-Screen-Flow aufschlüsseln (Autoflow) |
/api/edit-screen | Screen mit KI bearbeiten |
/api/enhance-prompt | Prompt mit KI verbessern/erweitern |
/api/generate-ai-code-stream | KI-Code-Generierung streamen |
/api/apply-ai-code | KI-Code-Änderungen anwenden |
/api/apply-ai-code-stream | Anwendung streamen |
/api/analyze-edit-intent | Edit-Intent analysieren |
/api/tldraw-agent | KI-Agent für den Canvas |
Sandbox-Verwaltung
| Route | Beschreibung |
|---|---|
/api/create-ai-sandbox | Neue Sandbox erstellen |
/api/create-ai-sandbox-v2 | Sandbox erstellen (v2) |
/api/sandbox-status | Sandbox-Status prüfen |
/api/sandbox-logs | Build-Logs abrufen |
/api/sandbox-logs-stream | Logs in Echtzeit streamen |
/api/sandbox-routes | Verfügbare Routen in Sandbox-App |
/api/run-command | Terminal-Befehl in Sandbox ausführen |
/api/run-command-v2 | Befehl ausführen (v2) |
/api/install-packages | npm-Pakete installieren |
/api/install-packages-v2 | Pakete installieren (v2) |
/api/detect-and-install-packages | Fehlende Pakete erkennen und installieren |
/api/kill-sandbox | Sandbox beenden |
/api/get-sandbox-files | Dateibaum aus Sandbox |
/api/add-sandbox-page | Neue Seite/Route hinzufügen |
/api/sandbox-git | Git-Operationen in Sandbox |
/api/check-sandbox-imports | Modul-Imports prüfen |
/api/run-tests | Tests in Sandbox ausführen |
/api/restart-vite | Vite Dev-Server neu starten |
Monitoring & Diagnose
| Route | Beschreibung |
|---|---|
/api/check-vite-errors | Vite-Build-Fehler prüfen |
/api/clear-vite-errors-cache | Vite-Fehler-Cache leeren |
/api/report-vite-error | Vite-Fehler für KI-Analyse melden |
/api/monitor-vite-logs | Vite-Log-Ausgabe überwachen |
/api/console-logs | Browser-Konsole aus Sandbox |
/api/conversation-state | Konversations-Status verwalten |
Cloud & Datenbank
| Route | Beschreibung |
|---|---|
/api/seemodo-cloud | Seemodo Cloud aktivieren/verwalten |
/api/supabase-proxy/[...path] | Proxy-Anfragen an Supabase |
Hilfsfunktionen
| Route | Beschreibung |
|---|---|
/api/scrape-website | URL-Inhalte scrapen |
/api/scrape-url-enhanced | Erweitertes URL-Scraping |
/api/scrape-screenshot | Screenshot einer URL |
/api/extract-brand-styles | Markenfarben/Fonts extrahieren |
/api/proxy-image | Bild-Proxy (CORS umgehen) |
/api/create-zip | ZIP-Download des Projektcodes |
/api/search | Projektdateien durchsuchen |
Brainstorm (Chat-Modus)
| Route | Beschreibung |
|---|---|
/api/brainstorm/bootstrap | Brainstorm-Session initialisieren |
/api/brainstorm/probe | Fragen im Brainstorm-Modus stellen |
Fehlerbehandlung
Standard HTTP-Statuscodes:| Code | Bedeutung |
|---|---|
| 200 | Erfolg |
| 202 | Akzeptiert (asynchrone Verarbeitung) |
| 204 | Kein Inhalt (Erfolg, kein Body) |
| 400 | Ungültige Anfrage |
| 401 | Nicht autorisiert |
| 403 | Keine Berechtigung |
| 429 | Rate-Limit überschritten |
| 500 | Interner Server-Fehler |
Rate Limits
API-Anfragen sind je nach Plan limitiert. Bei Überschreitung:429 Too Many Requests mit Retry-After-Header.