Skip to main content

Projects and Deployment

A project is a finished app. You promote what you built in a session into a project, deploy it, and roll it back if something goes wrong.

Listing and Creating

MethodPathWhat it does
GET/api/projectsEvery project you have visibility into
POST/api/projectsNew project (body takes name, template — both optional)
POST/api/projects/{id}/forkClone an existing project (body takes name)
POST/api/projects/{id}/openOpen an editing session and return its session info

Name and Visibility

MethodPathBody
PATCH/api/projects/{id}{ "name": "새 이름" }
PATCH/api/projects/{id}{ "access": "public" } or "private"
DELETE/api/projects/{id}

public means anyone logged in to Studio can see it. It does not exempt the project from authentication.

Deployment

MethodPathWhat it does
POST/api/projects/{id}/deployDeploy the current state. A new version number is issued
GET/api/projects/{id}/deploysDeployment history
POST/api/projects/{id}/rollbackRoll back to an earlier version (body takes version)
POST/api/projects/{id}/stopStop the deployment

Deployments accumulate as versions, so a rollback is non-destructive — later versions remain in the history after you roll back.

Runtime

MethodPathWhat it does
GET/api/projects/{id}/runtimeExecution status
GET/api/projects/{id}/runtime/logs?tail={n}Last n lines of the log (default 200)
POST/api/projects/{id}/runtime/restartRestart

Export

MethodPathWhat it does
GET/api/projects/{id}/deploy-bundle?version={n}Download the deployment bundle
GET/api/projects/{id}/image-push/previewCheck before pushing the image
POST/api/projects/{id}/image-pushPush to a container registry (body takes version)
POST/api/projects/{id}/git-pushPush to a Git repository
POST/api/projects/{id}/save-templateSave as a template (body takes name, category)

When moving to an air-gapped network, downloading the deployment bundle and carrying it in is simpler than pushing an image.

Documentation

GET /api/projects/{id}/doc

You get a document describing what the app does. The agent wrote it as it built the app.