Skip to main content

API Reference

Seemodo exposes two API layers: a Backend API (Go server) for project management, chat, billing, and integrations, and Frontend API routes (Next.js) for AI generation, sandbox operations, and utilities.

Backend API

Base URL

https://api.seemodo.app

Authentication

All backend requests require a Bearer token in the Authorization header:
Authorization: Bearer <your-token>
Tokens are obtained via authentication (login flow). In development mode, mock auth is used.

User & Preferences

EndpointMethodDescription
/userGETGet current user profile
/userPATCHUpdate user (display_name, etc.)
/user/workspacesGETList user’s workspaces
/user/rewardsGETGet user rewards/referrals
/user/preferences/llmGETGet LLM model preferences
/user/preferences/llmPATCHSet LLM mode (router/fixed), provider, model
/user/preferences/llm/optionsGETGet available LLM providers and models
/user/preferences/tool-preferencesGETGet tool approval preferences
/user/preferences/tool-preferences/{integration}/{tool}POSTSet tool preference (ask/never_ask)

Workspaces

EndpointMethodDescription
/workspaces/{id}GETGet workspace details
/workspaces/{id}PATCHUpdate workspace
/workspaces/{id}/membersGETList workspace members
/workspaces/{id}/members/invitePOSTInvite member (email, role)
/workspaces/{id}/members/{memberId}DELETERemove member
/workspaces/{id}/invitationsGETList pending invitations
/workspaces/{id}/invitations/{invitationId}DELETERevoke invitation
/invitations/{id}/acceptPOSTAccept an invitation
/workspaces/{id}/projectsGETList projects (optional: client_id, folder_id)
/workspaces/{id}/projectsPOSTCreate new project
/workspaces/{id}/foldersGETList folders
/workspaces/{id}/balanceGETGet credit balance (daily, monthly, rollover, topup)
/workspaces/{id}/analyticsGETGet workspace analytics summary

Projects

EndpointMethodDescription
/projects/{id}GETGet project details
/projects/{id}PATCHUpdate project (name, description, etc.)
/projects/{id}DELETEDelete project
/projects/{id}/source-codeGETGet project source code
/projects/{id}/trajectoryGETGet chat history (events, count)
/projects/{id}/memoryGETGet project memory/context
/projects/{id}/commitsGETGet commit history
/projects/{id}/revert/{commitSHA}POSTRevert to a specific commit
/projects/{id}/commits/{sha}/bookmarkPOSTToggle commit bookmark
/projects/{id}/auth-tokenGETGet project auth token
/projects/{id}/thumbnailPOSTSet project thumbnail URL
/projects/{id}/thumbnail/invalidatePOSTInvalidate thumbnail cache
/projects/{id}/transferPOSTTransfer project to another workspace
/projects/{id}/integrationsGETGet project integrations (Supabase, GitHub, connectors)
/projects/{id}/collaboratorsGETList project collaborators
/projects/{id}/collaboratorsPOSTAdd collaborator (email, access_level)
/projects/{id}/collaborators/{collabId}DELETERemove collaborator

Chat (AI Coder)

EndpointMethodDescription
/projects/{id}/chatPOSTSend message to AI (supports chat_only, agent_mode_enabled)
/projects/{id}/chat/streamGETSSE stream for real-time AI responses
/projects/{id}/chat/approve-toolPOSTApprove or deny a tool use request
/projects/{id}/chat/answer-questionPOSTAnswer an AI question (e.g., Supabase connect prompt)
/projects/{id}/chat/queueGETGet message queue (items + state)
/projects/{id}/chat/queue/addPOSTAdd message to queue
/projects/{id}/chat/queue/{itemId}DELETERemove item from queue
/projects/{id}/chat/queue/reorderPOSTReorder queue items
/projects/{id}/chat/queue/pausePOSTPause/resume queue processing

Sandbox

EndpointMethodDescription
/projects/{id}/sandbox/startPOSTStart sandbox for a project
/projects/{id}/sandbox/urlGETGet sandbox URL

Deployments

EndpointMethodDescription
/projects/{id}/deploymentsGETList all deployments
/projects/{id}/deploymentsPOSTCreate deployment (custom_subdomain, site metadata)
/projects/{id}/deployments/{deployId}GETGet deployment details
/projects/{id}/deployments/{deployId}DELETEDelete a deployment

GitHub Integration

EndpointMethodDescription
/auth/github/urlGETGet GitHub OAuth URL (with optional state param)
/auth/callback/githubPOSTExchange OAuth code for connection
/users/github/statusGETCheck GitHub account connection status
/users/github/disconnectPOSTDisconnect GitHub account
/users/github/organizationsGETList accessible GitHub organizations
/projects/{id}/github/connectPOSTConnect project to GitHub (owner, is_org, private)
/projects/{id}/github/disconnectPOSTDisconnect project from GitHub
/projects/{id}/github/statusGETGet project GitHub connection details
/projects/{id}/github/pushPOSTPush code to GitHub
/projects/{id}/github/pullPOSTPull code from GitHub
/projects/{id}/github/diffGETGet diff between local and remote

Billing

EndpointMethodDescription
/billing/plansGETGet available billing plans with tiers
/workspaces/{id}/billing/checkoutPOSTCreate Stripe checkout session
/workspaces/{id}/billing/portalPOSTCreate Stripe billing portal session
/workspaces/{id}/balanceGETGet credit balance
/workspaces/{id}/balance/auto-topupGETGet auto-topup settings
/workspaces/{id}/balance/auto-topupPUTUpdate auto-topup (enabled, threshold, amount)
/workspaces/{id}/user-monthly-usageGETGet monthly usage stats
/workspaces/{id}/credits/pricingGETGet per-credit pricing

Connectors & Integrations

EndpointMethodDescription
/connectors/standardGETList standard connectors
/connectors/mcpGETList MCP connectors
/connections/standardGETList active connections
/projects/{id}/integrations/supabase/connectPOSTConnect Supabase (external or Seemodo Cloud)
/projects/{id}/integrations/supabaseDELETEDisconnect Supabase
/projects/{id}/workspace/supabase-organizationsGETList Supabase organizations
/projects/{id}/workspace/supabase-organizations/{slug}/projectsGETList org’s Supabase projects

AI Asset Generation

EndpointMethodDescription
/projects/{id}/generate/descriptionPOSTAI-generate a site description
/projects/{id}/generate/faviconPOSTAI-generate a favicon SVG
/projects/{id}/generate/og-imagePOSTAI-generate an OG image SVG

Permissions

EndpointMethodDescription
/permissionsGETGet user permissions (optional: projectId, workspaceId)

Frontend API Routes

These Next.js API routes handle AI generation, sandbox management, and utilities. They run at /api/... on the frontend server.

Generation

RouteDescription
/api/generate-screenGenerate a single HiFi screen from prompt
/api/generate-wireframeGenerate a wireframe layout
/api/generate-flowGenerate multi-screen flow breakdown (Autoflow)
/api/edit-screenEdit an existing screen with AI
/api/enhance-promptImprove/expand a user prompt with AI
/api/generate-ai-code-streamStream AI code generation for projects
/api/apply-ai-codeApply AI-generated code changes
/api/apply-ai-code-streamStream apply of AI code changes
/api/analyze-edit-intentAnalyze user edit intent for routing
/api/tldraw-agentAI agent for the canvas (tldraw)

Sandbox Management

RouteDescription
/api/create-ai-sandboxCreate a new sandbox environment
/api/create-ai-sandbox-v2Create sandbox (v2 with enhanced features)
/api/sandbox-statusCheck sandbox status and URL
/api/sandbox-logsGet sandbox build logs
/api/sandbox-logs-streamStream sandbox logs in real-time
/api/sandbox-routesGet available routes in sandbox app
/api/run-commandExecute a terminal command in sandbox
/api/run-command-v2Execute command (v2)
/api/install-packagesInstall npm packages
/api/install-packages-v2Install packages (v2)
/api/detect-and-install-packagesAuto-detect and install missing packages
/api/kill-sandboxTerminate a sandbox
/api/get-sandbox-filesGet file tree from sandbox
/api/add-sandbox-pageAdd a new page/route to sandbox app
/api/sandbox-gitGit operations within sandbox
/api/check-sandbox-importsVerify sandbox module imports
/api/run-testsRun tests in sandbox
/api/restart-viteRestart the Vite dev server

Monitoring & Diagnostics

RouteDescription
/api/check-vite-errorsCheck for Vite build errors
/api/clear-vite-errors-cacheClear Vite error cache
/api/report-vite-errorReport a Vite error for AI analysis
/api/monitor-vite-logsMonitor Vite log output
/api/console-logsGet browser console logs from sandbox
/api/conversation-stateGet/manage conversation state

Cloud & Database

RouteDescription
/api/seemodo-cloudActivate/manage Seemodo Cloud
/api/supabase-proxy/[...path]Proxy all requests to Supabase

Utilities

RouteDescription
/api/scrape-websiteScrape a URL for text content
/api/scrape-url-enhancedEnhanced URL scraping with more data
/api/scrape-screenshotCapture a screenshot of a URL
/api/extract-brand-stylesExtract brand colors/fonts from a URL
/api/proxy-imageProxy image to avoid CORS
/api/create-zipCreate ZIP download of project code
/api/searchSearch across project files

Brainstorm (Chat Mode)

RouteDescription
/api/brainstorm/bootstrapInitialize brainstorm session
/api/brainstorm/probeAsk probing questions in brainstorm mode

Error handling

All endpoints return standard HTTP status codes:
CodeMeaning
200Success
202Accepted (async processing)
204No content (success, no body)
400Bad request (invalid parameters)
401Unauthorized (invalid or missing token)
403Forbidden (insufficient permissions)
429Rate limit exceeded
500Internal server error
Error responses include a JSON body:
{
  "error": "Description of what went wrong"
}

Rate limits

API requests are rate-limited based on your plan. Exceeding limits returns 429 Too Many Requests. The response includes Retry-After headers.