Skip to content

REST API Reference

All API endpoints are under the /v1 prefix. Protected endpoints require a valid JWT token in the Authorization: Bearer <token> header.

MethodPathDescription
POST/v1/api/auth/registerRegister a new user
POST/v1/api/auth/loginLogin with email/password
POST/v1/api/auth/refreshRefresh an expired JWT token
GET/v1/api/auth/methodsGet available auth methods
GET/v1/api/auth/oauth/:provider/authorizeStart OAuth flow for a provider
GET/v1/api/auth/oauth/:provider/callbackOAuth callback handler
POST/v1/api/auth/oauth/exchangeExchange OAuth code for JWT

Register:

// POST /v1/api/auth/register
{
"email": "user@example.com",
"password": "password123",
"name": "John Doe"
}
// Response: { "token": "eyJ...", "user": { "id", "name", "email", "role" } }

Login:

// POST /v1/api/auth/login
{ "email": "user@example.com", "password": "password123" }
// Response: { "token": "eyJ...", "user": { ... } }
MethodPathDescription
GET/v1/api/profileGet current user profile
PUT/v1/api/profileUpdate user profile
MethodPathDescription
POST/v1/api/workflowsCreate a new workflow
GET/v1/api/workflowsList all workflows for the user
GET/v1/api/workflows/:idGet a specific workflow
PUT/v1/api/workflows/:idUpdate workflow metadata
DELETE/v1/api/workflows/:idDelete a workflow
POST/v1/api/workflows/:id/cloneClone a workflow
PUT/v1/api/workflows/:id/statusUpdate workflow status (draft/published/archived)
POST/v1/api/workflows/:id/saveSave nodes and edges without versioning
POST/v1/api/workflows/:id/runExecute the workflow (creates version + deploys)
GET/v1/api/workflows/:id/runsGet workflow execution history
GET/v1/api/workflows/:id/status/streamSSE stream for workflow execution status
MethodPathDescription
GET/v1/api/workflows/:id/nodes/:nodeId/diagnosticsGet diagnostics for a node
GET/v1/api/workflows/:id/nodes/:nodeId/fix-template/:fixTypeGet auto-fix template
POST/v1/api/workflows/:id/nodes/:nodeId/fixApply auto-fix to a node
MethodPathDescription
GET/v1/api/workflows/:id/versionsList versions (paginated)
GET/v1/api/workflows/:id/versions/:versionGet a specific version
POST/v1/api/workflows/:id/versionsCreate a manual version
PUT/v1/api/workflows/:id/versions/:versionUpdate version metadata
POST/v1/api/workflows/:id/versions/:version/restoreRestore a previous version
GET/v1/api/workflows/:id/versions/compare?v1=X&v2=YCompare two versions
MethodPathDescription
POST/v1/api/clustersAdd a new cluster
GET/v1/api/clustersList all clusters
GET/v1/api/clusters/defaultGet the default cluster
GET/v1/api/clusters/:nameGet a specific cluster
PUT/v1/api/clusters/:nameUpdate a cluster
DELETE/v1/api/clusters/:nameRemove a cluster
PUT/v1/api/clusters/:name/defaultSet as default cluster
POST/v1/api/clusters/:name/testTest cluster connection
POST/v1/api/clusters/:name/refreshRefresh cluster metadata
GET/v1/api/clusters/:name/statusGet cluster status
GET/v1/api/clusters/:name/metricsGet cluster resource metrics
GET/v1/api/clusters/:name/logsGet cluster connection logs
PUT/v1/api/clusters/:name/credentialsUpdate cluster credentials
POST/v1/api/clusters/:name/shareShare cluster with another user
MethodPathDescription
GET/v1/api/resourcesList tracked Kubernetes resources
POST/v1/api/resources/syncSync resources from Kubernetes
GET/v1/api/resources/:idGet a specific resource
PATCH/v1/api/resources/:idUpdate resource user fields
GET/v1/api/resources/:id/streamSSE stream for resource status
GET/v1/api/resources/:id/logs/streamSSE stream for pod logs
GET/v1/api/resources/:id/exec/terminalWebSocket terminal session
GET/v1/api/resources/:id/podsGet pods for a deployment
MethodPathDescription
POST/v1/api/builds/startStart a container image build
GET/v1/api/buildsList builds for current user
GET/v1/api/builds/:idGet build details
GET/v1/api/builds/:id/streamSSE stream for build logs
POST/v1/api/builds/:id/cancelCancel an in-progress build
MethodPathDescription
POST/v1/api/import/analyzeAnalyze an import source
POST/v1/api/import/uploadUpload a Docker Compose file
POST/v1/api/import/applyApply import to existing workflow
POST/v1/api/import/create-workflowCreate new workflow from import
GET/v1/api/import/:idGet import session status
GET/v1/api/import/:id/streamSSE stream for import progress
MethodPathDescription
GET/v1/api/templatesGet available resource templates
MethodPathDescription
GET/v1/api/pluginsList all plugins
GET/v1/api/plugins/enabledGet enabled plugins
GET/v1/api/plugins/categoriesGet plugin categories
GET/v1/api/plugins/:idGet plugin details
POST/v1/api/plugins/:id/enableEnable a plugin
POST/v1/api/plugins/:id/disableDisable a plugin
MethodPathDescription
GET/v1/api/registriesList container registries
GET/v1/api/registries/lookup?image=...Find registry for an image
GET/v1/api/registries/:idGet registry details
MethodPathDescription
POST/v1/api/admin/registriesCreate a registry
PUT/v1/api/admin/registries/:idUpdate a registry
DELETE/v1/api/admin/registries/:idDelete a registry
POST/v1/api/admin/registries/:id/testTest registry connection
PUT/v1/api/admin/registries/:id/defaultSet default registry
MethodPathDescription
GET/v1/api/dashboard/recent-workflowsGet recent workflows
GET/v1/api/dashboard/statsGet dashboard statistics
MethodPathDescription
GET/v1/api/search?q=...Global search across entities
MethodPathDescription
GET/v1/api/settings/invite-codeGet current invite code
POST/v1/api/settings/generate-invite-codeGenerate new invite code
GET/v1/api/settings/regenerate-settingGet auto-regenerate setting
PUT/v1/api/settings/regenerate-settingUpdate auto-regenerate setting