프로젝트와 배포
프로젝트는 완성된 앱입니다. 세션에서 만든 것을 프로젝트로 확정하고, 배포하고, 문제가 생기면 되돌립니다.
목록과 생성
| 메서드 | 경로 | 하는 일 |
|---|---|---|
GET | /api/projects | 내가 볼 수 있는 프로젝트 전부 |
POST | /api/projects | 새 프로젝트 (본문에 name, template — 둘 다 생략 가능) |
POST | /api/projects/{id}/fork | 기존 프로젝트를 복제 (본문에 name) |
POST | /api/projects/{id}/open | 편집 세션을 열고 그 세션 정보를 받는다 |
이름과 공개 범위
| 메서드 | 경로 | 본문 |
|---|---|---|
PATCH | /api/projects/{id} | { "name": "새 이름" } |
PATCH | /api/projects/{id} | { "access": "public" } 또는 "private" |
DELETE | /api/projects/{id} | — |
public 은 Studio에 로그인한 사람이면 누구나 볼 수 있다는 뜻입니다. 인증 자체를 면제하지는 않습니다.
배포
| 메서드 | 경로 | 하는 일 |
|---|---|---|
POST | /api/projects/{id}/deploy | 현재 상태를 배포. 새 버전 번호가 발급된다 |
GET | /api/projects/{id}/deploys | 배포 이력 |
POST | /api/projects/{id}/rollback | 이전 버전으로 (본문에 version) |
POST | /api/projects/{id}/stop | 배포 중지 |
배포는 버전이 쌓이는 구조라 롤백이 파괴적이지 않습니다 — 되돌린 뒤에도 이후 버전은 이력에 남습니다.
런타임
| 메서드 | 경로 | 하는 일 |
|---|---|---|
GET | /api/projects/{id}/runtime | 실행 상태 |
GET | /api/projects/{id}/runtime/logs?tail={n} | 로그 마지막 n 줄 (기본 200) |
POST | /api/projects/{id}/runtime/restart | 재시작 |
내보내기
| 메서드 | 경로 | 하는 일 |
|---|---|---|
GET | /api/projects/{id}/deploy-bundle?version={n} | 배포 번들 내려받기 |
GET | /api/projects/{id}/image-push/preview | 이미지 푸시 전 확인 |
POST | /api/projects/{id}/image-push | 컨테이너 레지스트리로 푸시 (본문에 version) |
POST | /api/projects/{id}/git-push | Git 저장소로 푸시 |
POST | /api/projects/{id}/save-template | 템플릿으로 저장 (본문에 name, category) |
폐쇄망으로 옮길 때는 배포 번들을 받아 반입하는 쪽이 이미지 푸시보다 단순합니다.
문서
GET /api/projects/{id}/doc
앱이 무엇을 하는지 정리된 문서를 받습니다. 에이전트가 만들면서 함께 작성한 것입니다.