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
| Method | Path | What it does |
|---|---|---|
GET | /api/projects | Every project you have visibility into |
POST | /api/projects | New project (body takes name, template — both optional) |
POST | /api/projects/{id}/fork | Clone an existing project (body takes name) |
POST | /api/projects/{id}/open | Open an editing session and return its session info |
Name and Visibility
| Method | Path | Body |
|---|---|---|
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
| Method | Path | What it does |
|---|---|---|
POST | /api/projects/{id}/deploy | Deploy the current state. A new version number is issued |
GET | /api/projects/{id}/deploys | Deployment history |
POST | /api/projects/{id}/rollback | Roll back to an earlier version (body takes version) |
POST | /api/projects/{id}/stop | Stop the deployment |
Deployments accumulate as versions, so a rollback is non-destructive — later versions remain in the history after you roll back.
Runtime
| Method | Path | What it does |
|---|---|---|
GET | /api/projects/{id}/runtime | Execution status |
GET | /api/projects/{id}/runtime/logs?tail={n} | Last n lines of the log (default 200) |
POST | /api/projects/{id}/runtime/restart | Restart |
Export
| Method | Path | What it does |
|---|---|---|
GET | /api/projects/{id}/deploy-bundle?version={n} | Download the deployment bundle |
GET | /api/projects/{id}/image-push/preview | Check before pushing the image |
POST | /api/projects/{id}/image-push | Push to a container registry (body takes version) |
POST | /api/projects/{id}/git-push | Push to a Git repository |
POST | /api/projects/{id}/save-template | Save 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.