Zum Hauptinhalt springen

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

https://api.seemodo.app

Authentifizierung

Alle Backend-Anfragen benötigen ein Bearer-Token im Authorization-Header:
Authorization: Bearer <dein-token>

Benutzer & Einstellungen

EndpunktMethodeBeschreibung
/userGETAktuelles Benutzerprofil abrufen
/userPATCHBenutzer aktualisieren (display_name, etc.)
/user/workspacesGETWorkspaces des Benutzers auflisten
/user/rewardsGETRewards/Empfehlungen abrufen
/user/preferences/llmGETLLM-Modell-Einstellungen abrufen
/user/preferences/llmPATCHLLM-Modus setzen (router/fixed), Provider, Modell
/user/preferences/llm/optionsGETVerfügbare LLM-Provider und Modelle
/user/preferences/tool-preferencesGETTool-Genehmigungen abrufen
/user/preferences/tool-preferences/{integration}/{tool}POSTTool-Einstellung setzen (ask/never_ask)

Workspaces

EndpunktMethodeBeschreibung
/workspaces/{id}GETWorkspace-Details
/workspaces/{id}PATCHWorkspace aktualisieren
/workspaces/{id}/membersGETMitglieder auflisten
/workspaces/{id}/members/invitePOSTMitglied einladen (E-Mail, Rolle)
/workspaces/{id}/members/{memberId}DELETEMitglied entfernen
/workspaces/{id}/invitationsGETAusstehende Einladungen
/workspaces/{id}/invitations/{invitationId}DELETEEinladung widerrufen
/invitations/{id}/acceptPOSTEinladung annehmen
/workspaces/{id}/projectsGETProjekte auflisten (optional: client_id, folder_id)
/workspaces/{id}/projectsPOSTNeues Projekt erstellen
/workspaces/{id}/foldersGETOrdner auflisten
/workspaces/{id}/balanceGETCredit-Guthaben (täglich, monatlich, Rollover, Top-up)
/workspaces/{id}/analyticsGETAnalytics-Zusammenfassung

Projekte

EndpunktMethodeBeschreibung
/projects/{id}GETProjektdetails
/projects/{id}PATCHProjekt aktualisieren (Name, Beschreibung, etc.)
/projects/{id}DELETEProjekt löschen
/projects/{id}/source-codeGETQuellcode abrufen
/projects/{id}/trajectoryGETChat-Verlauf (Events, Anzahl)
/projects/{id}/memoryGETProjektgedächtnis/Kontext
/projects/{id}/commitsGETCommit-History
/projects/{id}/revert/{commitSHA}POSTZu bestimmtem Commit zurückkehren
/projects/{id}/commits/{sha}/bookmarkPOSTCommit-Lesezeichen umschalten
/projects/{id}/transferPOSTProjekt in anderen Workspace übertragen
/projects/{id}/integrationsGETProjekt-Integrationen (Supabase, GitHub)
/projects/{id}/collaboratorsGETMitarbeiter auflisten
/projects/{id}/collaboratorsPOSTMitarbeiter hinzufügen (E-Mail, Zugriffsebene)
/projects/{id}/collaborators/{collabId}DELETEMitarbeiter entfernen

Chat (AI Coder)

EndpunktMethodeBeschreibung
/projects/{id}/chatPOSTNachricht an KI senden (chat_only, agent_mode_enabled)
/projects/{id}/chat/streamGETSSE-Stream für Echtzeit-KI-Antworten
/projects/{id}/chat/approve-toolPOSTTool-Nutzung genehmigen/ablehnen
/projects/{id}/chat/answer-questionPOSTKI-Frage beantworten (z.B. Supabase-Verbindung)
/projects/{id}/chat/queueGETNachrichten-Queue abrufen
/projects/{id}/chat/queue/addPOSTNachricht zur Queue hinzufügen
/projects/{id}/chat/queue/{itemId}DELETEElement aus Queue entfernen
/projects/{id}/chat/queue/reorderPOSTQueue-Reihenfolge ändern
/projects/{id}/chat/queue/pausePOSTQueue pausieren/fortsetzen

Sandbox

EndpunktMethodeBeschreibung
/projects/{id}/sandbox/startPOSTSandbox für Projekt starten
/projects/{id}/sandbox/urlGETSandbox-URL abrufen

Deployments

EndpunktMethodeBeschreibung
/projects/{id}/deploymentsGETAlle Deployments auflisten
/projects/{id}/deploymentsPOSTDeployment erstellen (Subdomain, Metadaten)
/projects/{id}/deployments/{deployId}GETDeployment-Details
/projects/{id}/deployments/{deployId}DELETEDeployment löschen

GitHub Integration

EndpunktMethodeBeschreibung
/auth/github/urlGETGitHub OAuth-URL abrufen
/auth/callback/githubPOSTOAuth-Code austauschen
/users/github/statusGETGitHub-Verbindungsstatus prüfen
/users/github/disconnectPOSTGitHub-Konto trennen
/users/github/organizationsGETGitHub-Organisationen auflisten
/projects/{id}/github/connectPOSTProjekt mit GitHub verbinden
/projects/{id}/github/disconnectPOSTProjekt von GitHub trennen
/projects/{id}/github/statusGETProjekt-GitHub-Status
/projects/{id}/github/pushPOSTCode zu GitHub pushen
/projects/{id}/github/pullPOSTCode von GitHub pullen
/projects/{id}/github/diffGETDiff zwischen lokal und remote

Billing

EndpunktMethodeBeschreibung
/billing/plansGETVerfügbare Pläne mit Tiers abrufen
/workspaces/{id}/billing/checkoutPOSTStripe-Checkout-Session erstellen
/workspaces/{id}/billing/portalPOSTStripe-Billing-Portal öffnen
/workspaces/{id}/balanceGETCredit-Guthaben
/workspaces/{id}/balance/auto-topupGETAuto-Topup-Einstellungen
/workspaces/{id}/balance/auto-topupPUTAuto-Topup aktualisieren
/workspaces/{id}/user-monthly-usageGETMonatliche Nutzungsstatistiken
/workspaces/{id}/credits/pricingGETPreis pro Credit

Connectors & Integrationen

EndpunktMethodeBeschreibung
/connectors/standardGETStandard-Connectors auflisten
/connectors/mcpGETMCP-Connectors auflisten
/connections/standardGETAktive Verbindungen
/projects/{id}/integrations/supabase/connectPOSTSupabase verbinden
/projects/{id}/integrations/supabaseDELETESupabase trennen
/projects/{id}/workspace/supabase-organizationsGETSupabase-Organisationen
/projects/{id}/workspace/supabase-organizations/{slug}/projectsGETSupabase-Projekte einer Org

KI-Asset-Generierung

EndpunktMethodeBeschreibung
/projects/{id}/generate/descriptionPOSTSite-Beschreibung generieren
/projects/{id}/generate/faviconPOSTFavicon-SVG generieren
/projects/{id}/generate/og-imagePOSTOG-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

RouteBeschreibung
/api/generate-screenEinzelnen HiFi-Screen generieren
/api/generate-wireframeWireframe-Layout generieren
/api/generate-flowMulti-Screen-Flow aufschlüsseln (Autoflow)
/api/edit-screenScreen mit KI bearbeiten
/api/enhance-promptPrompt mit KI verbessern/erweitern
/api/generate-ai-code-streamKI-Code-Generierung streamen
/api/apply-ai-codeKI-Code-Änderungen anwenden
/api/apply-ai-code-streamAnwendung streamen
/api/analyze-edit-intentEdit-Intent analysieren
/api/tldraw-agentKI-Agent für den Canvas

Sandbox-Verwaltung

RouteBeschreibung
/api/create-ai-sandboxNeue Sandbox erstellen
/api/create-ai-sandbox-v2Sandbox erstellen (v2)
/api/sandbox-statusSandbox-Status prüfen
/api/sandbox-logsBuild-Logs abrufen
/api/sandbox-logs-streamLogs in Echtzeit streamen
/api/sandbox-routesVerfügbare Routen in Sandbox-App
/api/run-commandTerminal-Befehl in Sandbox ausführen
/api/run-command-v2Befehl ausführen (v2)
/api/install-packagesnpm-Pakete installieren
/api/install-packages-v2Pakete installieren (v2)
/api/detect-and-install-packagesFehlende Pakete erkennen und installieren
/api/kill-sandboxSandbox beenden
/api/get-sandbox-filesDateibaum aus Sandbox
/api/add-sandbox-pageNeue Seite/Route hinzufügen
/api/sandbox-gitGit-Operationen in Sandbox
/api/check-sandbox-importsModul-Imports prüfen
/api/run-testsTests in Sandbox ausführen
/api/restart-viteVite Dev-Server neu starten

Monitoring & Diagnose

RouteBeschreibung
/api/check-vite-errorsVite-Build-Fehler prüfen
/api/clear-vite-errors-cacheVite-Fehler-Cache leeren
/api/report-vite-errorVite-Fehler für KI-Analyse melden
/api/monitor-vite-logsVite-Log-Ausgabe überwachen
/api/console-logsBrowser-Konsole aus Sandbox
/api/conversation-stateKonversations-Status verwalten

Cloud & Datenbank

RouteBeschreibung
/api/seemodo-cloudSeemodo Cloud aktivieren/verwalten
/api/supabase-proxy/[...path]Proxy-Anfragen an Supabase

Hilfsfunktionen

RouteBeschreibung
/api/scrape-websiteURL-Inhalte scrapen
/api/scrape-url-enhancedErweitertes URL-Scraping
/api/scrape-screenshotScreenshot einer URL
/api/extract-brand-stylesMarkenfarben/Fonts extrahieren
/api/proxy-imageBild-Proxy (CORS umgehen)
/api/create-zipZIP-Download des Projektcodes
/api/searchProjektdateien durchsuchen

Brainstorm (Chat-Modus)

RouteBeschreibung
/api/brainstorm/bootstrapBrainstorm-Session initialisieren
/api/brainstorm/probeFragen im Brainstorm-Modus stellen

Fehlerbehandlung

Standard HTTP-Statuscodes:
CodeBedeutung
200Erfolg
202Akzeptiert (asynchrone Verarbeitung)
204Kein Inhalt (Erfolg, kein Body)
400Ungültige Anfrage
401Nicht autorisiert
403Keine Berechtigung
429Rate-Limit überschritten
500Interner Server-Fehler
Fehler-Antworten enthalten ein JSON-Body:
{
  "error": "Beschreibung des Fehlers"
}

Rate Limits

API-Anfragen sind je nach Plan limitiert. Bei Überschreitung: 429 Too Many Requests mit Retry-After-Header.