Skip to main content

Overview

Tesslate Studio exposes a REST API through FastAPI. All endpoints are served from the Orchestrator backend. Authenticated endpoints require a valid JWT token (via Authorization: Bearer {token} header) or an HTTP-only session cookie. This reference organizes every endpoint by router. For each endpoint, you will find the HTTP method, path, a brief description, and whether authentication is required.
Visit http://localhost:8000/docs (local) or https://your-domain/docs (production) to access the interactive Swagger UI, which includes live request testing and schema documentation.

Auth Endpoints

Authentication, registration, and session management.
MethodPathDescriptionAuth
POST/api/auth/registerRegister a new user (email + password)No
POST/api/auth/loginLogin with email and password (returns JWT)No
POST/api/auth/logoutLogout and invalidate sessionYes
POST/api/auth/forgot-passwordRequest password reset emailNo
POST/api/auth/reset-passwordReset password using token from emailNo
POST/api/auth/verifyVerify email addressNo
GET/api/auth/google/authorizeInitiate Google OAuth loginNo
GET/api/auth/google/callbackGoogle OAuth callback handlerNo
GET/api/auth/github/authorizeInitiate GitHub OAuth loginNo
GET/api/auth/github/callbackGitHub OAuth callback handlerNo
POST/api/auth/2fa/verifyVerify 2FA email codeNo
POST/api/auth/2fa/resendResend 2FA verification codeNo
POST/api/auth/verify-pod-accessVerify pod access token (K8s internal)No

User Endpoints

User profile management.
MethodPathDescriptionAuth
GET/api/users/meGet current user profileYes
PATCH/api/users/meUpdate current user profileYes
GET/api/users/{id}Get user public profileNo

Project Endpoints

Project CRUD, file operations, container management, and assets.

Project Management

MethodPathDescriptionAuth
GET/api/projectsList user’s projectsYes
POST/api/projectsCreate a new projectYes
GET/api/projects/{id}Get project detailsYes
PATCH/api/projects/{id}Update project metadataYes
DELETE/api/projects/{id}Delete a projectYes
GET/api/projects/{id}/statusGet project container statusYes

Container Lifecycle

MethodPathDescriptionAuth
POST/api/projects/{id}/startStart project containersYes
POST/api/projects/{id}/stopStop project containersYes
POST/api/projects/{id}/restartRestart project containersYes
POST/api/projects/{id}/containersAdd a container to the projectYes
DELETE/api/projects/{id}/containers/{container_id}Remove a containerYes
PATCH/api/projects/{id}/containers/{container_id}Update container configYes
POST/api/projects/{id}/containers/{container_id}/startStart a single containerYes
POST/api/projects/{id}/containers/{container_id}/stopStop a single containerYes

File Operations

MethodPathDescriptionAuth
GET/api/projects/{id}/filesList all project filesYes
GET/api/projects/{id}/files/{path}Read a fileYes
PUT/api/projects/{id}/files/{path}Write/update a fileYes
DELETE/api/projects/{id}/files/{path}Delete a fileYes
POST/api/projects/{id}/files/renameRename/move a fileYes
POST/api/projects/{id}/files/directoryCreate a directoryYes

Assets

MethodPathDescriptionAuth
GET/api/projects/{id}/assetsList project assetsYes
POST/api/projects/{id}/assetsUpload an assetYes
DELETE/api/projects/{id}/assets/{asset_id}Delete an assetYes

Connections and Previews

MethodPathDescriptionAuth
GET/api/projects/{id}/connectionsList container connectionsYes
POST/api/projects/{id}/connectionsCreate a container connectionYes
DELETE/api/projects/{id}/connections/{conn_id}Delete a connectionYes
GET/api/projects/{id}/previewsList browser previewsYes
POST/api/projects/{id}/previewsCreate a browser previewYes
DELETE/api/projects/{id}/previews/{preview_id}Delete a previewYes

Snapshots

MethodPathDescriptionAuth
GET/api/projects/{id}/snapshotsList project snapshots (timeline)Yes
POST/api/projects/{id}/snapshotsCreate a manual snapshotYes
POST/api/projects/{id}/snapshots/{snapshot_id}/restoreRestore from snapshotYes

Chat Endpoints

AI agent chat management and streaming.
MethodPathDescriptionAuth
GET/api/chat/history/{project_id}Get chat history for a projectYes
GET/api/chat/{chat_id}Get a specific chat with messagesYes
POST/api/chat/streamStream agent response (SSE)Yes
POST/api/chat/cancelCancel an in-progress agent runYes
DELETE/api/chat/{chat_id}Delete a chatYes
WS/api/chat/ws/{chat_id}WebSocket for real-time chatYes

Git Endpoints

Git operations executed inside project containers.
MethodPathDescriptionAuth
POST/api/git/initInitialize a Git repositoryYes
POST/api/git/cloneClone a repository into projectYes
POST/api/git/commitStage and commit changesYes
POST/api/git/pushPush commits to remoteYes
POST/api/git/pullPull changes from remoteYes
GET/api/git/status/{project_id}Get Git status (changed files)Yes
GET/api/git/branches/{project_id}List branchesYes
POST/api/git/checkoutCheckout a branchYes

Git Provider Endpoints

Multi-provider Git integration (GitHub, GitLab, Bitbucket).
MethodPathDescriptionAuth
GET/api/git-providers/providersList connected Git providersYes
GET/api/git-providers/{provider}/reposList repositories from providerYes
POST/api/git-providers/{provider}/connectConnect a Git provider (OAuth)Yes
DELETE/api/git-providers/{provider}/disconnectDisconnect a Git providerYes

Deployment Endpoints

External deployments to Vercel, Netlify, and Cloudflare.
MethodPathDescriptionAuth
GET/api/deployments/{project_id}List deployments for a projectYes
POST/api/deploymentsCreate a new deploymentYes
POST/api/deployments/deploy-allDeploy all containers in a projectYes
GET/api/deployments/{deployment_id}/statusGet deployment statusYes
DELETE/api/deployments/{deployment_id}Delete a deployment recordYes

Deployment Credentials

MethodPathDescriptionAuth
GET/api/deployment-credentialsList connected deployment providersYes
POST/api/deployment-credentialsStore deployment credentialsYes
DELETE/api/deployment-credentials/{id}Remove deployment credentialsYes

Deployment OAuth

MethodPathDescriptionAuth
GET/api/deployment-oauth/{provider}/authorizeInitiate OAuth for deployment providerYes
GET/api/deployment-oauth/{provider}/callbackOAuth callback handlerYes

Marketplace Endpoints

Browse, purchase, and manage AI agents and project templates.

Agents

MethodPathDescriptionAuth
GET/api/marketplace/agentsBrowse marketplace agentsOptional
GET/api/marketplace/agents/{slug}Get agent detailsOptional
POST/api/marketplace/agentsPublish a new agentYes
PATCH/api/marketplace/agents/{id}Update an agentYes
DELETE/api/marketplace/agents/{id}Delete an agentYes
POST/api/marketplace/agents/{id}/purchasePurchase an agentYes
POST/api/marketplace/agents/{id}/forkFork an agentYes
GET/api/marketplace/agents/{id}/reviewsGet agent reviewsOptional
POST/api/marketplace/agents/{id}/reviewsSubmit a reviewYes

Bases (Project Templates)

MethodPathDescriptionAuth
GET/api/marketplace/basesList project templatesOptional
GET/api/marketplace/bases/browseBrowse with pagination and filtersOptional
GET/api/marketplace/bases/{slug}Get base detailsOptional
GET/api/marketplace/bases/{slug}/versionsList available git tag versionsOptional
POST/api/marketplace/basesSubmit a new baseYes
GET/api/marketplace/bases/{id}/reviewsGet base reviewsOptional
POST/api/marketplace/bases/{id}/reviewsSubmit a reviewYes

User Library

MethodPathDescriptionAuth
GET/api/marketplace/library/agentsList purchased agentsYes
GET/api/marketplace/library/basesList purchased basesYes

Billing Endpoints

Subscription management, credits, and usage tracking.
MethodPathDescriptionAuth
GET/api/billing/subscriptionGet current subscription detailsYes
POST/api/billing/checkoutCreate Stripe checkout sessionYes
POST/api/billing/portalCreate Stripe customer portal sessionYes
GET/api/billing/creditsGet credit balanceYes
POST/api/billing/credits/purchasePurchase credit packageYes
GET/api/billing/usageGet usage historyYes
POST/api/webhooks/stripeStripe webhook handlerNo

Admin Endpoints

Platform administration (requires superuser role).
MethodPathDescriptionAuth
GET/api/admin/metricsPlatform-wide metricsSuperuser
GET/api/admin/usersList all usersSuperuser
GET/api/admin/users/{id}Get user detailsSuperuser
PATCH/api/admin/users/{id}Update user (ban, change tier)Superuser
GET/api/admin/projectsList all projectsSuperuser
GET/api/admin/agentsList all marketplace agentsSuperuser
PATCH/api/admin/agents/{id}Moderate an agentSuperuser

Theme Endpoints

Public theme API (no authentication required).
MethodPathDescriptionAuth
GET/api/themesList all available themesNo
GET/api/themes/{id}Get theme detailsNo

Additional Endpoints

Shell Sessions

MethodPathDescriptionAuth
POST/api/shell/sessionsCreate a shell sessionYes
WS/api/shell/ws/{session_id}WebSocket for terminal I/OYes
DELETE/api/shell/sessions/{id}Close a shell sessionYes

Secrets (Environment Variables)

MethodPathDescriptionAuth
GET/api/secrets/{project_id}List project secretsYes
POST/api/secrets/{project_id}Set a secretYes
DELETE/api/secrets/{project_id}/{key}Delete a secretYes

Kanban (Task Board)

MethodPathDescriptionAuth
GET/api/kanban/{project_id}Get kanban boardYes
POST/api/kanban/{project_id}/columnsCreate a columnYes
PATCH/api/kanban/{project_id}/columns/{id}Update a columnYes
DELETE/api/kanban/{project_id}/columns/{id}Delete a columnYes
POST/api/kanban/{project_id}/tasksCreate a taskYes
PATCH/api/kanban/{project_id}/tasks/{id}Update a taskYes
DELETE/api/kanban/{project_id}/tasks/{id}Delete a taskYes
POST/api/kanban/{project_id}/tasks/{id}/commentsAdd a commentYes

Background Tasks

MethodPathDescriptionAuth
GET/api/tasks/{task_id}Get background task statusYes

Feedback

MethodPathDescriptionAuth
GET/api/feedbackList feedback postsYes
POST/api/feedbackSubmit feedbackYes
POST/api/feedback/{id}/upvoteUpvote a postYes
POST/api/feedback/{id}/commentsComment on a postYes

Referrals and Creators

MethodPathDescriptionAuth
GET/api/referrals/codeGet user’s referral codeYes
POST/api/referrals/applyApply a referral codeYes
GET/api/creators/dashboardCreator program dashboardYes
POST/api/creators/payoutRequest creator payoutYes

Health and Configuration

MethodPathDescriptionAuth
GET/healthBackend health checkNo
GET/api/configPublic config (deployment mode, app domain)No

Common Response Patterns

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "My App",
  "slug": "my-app-k3x8n2",
  "created_at": "2026-01-09T12:00:00Z",
  "status": "running"
}
{
  "detail": "Project not found"
}
Common status codes:
  • 400 Bad Request (invalid input, validation errors)
  • 401 Unauthorized (authentication required)
  • 403 Forbidden (insufficient permissions)
  • 404 Not Found (resource does not exist)
  • 422 Unprocessable Entity (Pydantic validation error)
  • 500 Internal Server Error (unexpected server error)
{
  "items": [...],
  "total": 42,
  "page": 1,
  "total_pages": 3
}
List endpoints support pagination via skip and limit query parameters (or page and limit for marketplace browse endpoints).