Notebook
JupyterHub 노트북 서버를 관리하는 API입니다. 사용자별 노트북 서버 시작, 중지, 상태 조회 기능을 제공합니다.
엔드포인트
GET /api/v1/notebooks
설명: 모든 활성 노트북 서버 목록을 반환합니다.
GET /api/v1/notebooks/{username}
설명: 특정 사용자의 노트북 서버 상태를 반환합니다.
응답:
{
"user": "demo",
"server_running": true,
"ready": true,
"url": "/jupyter/user/demo/",
"last_activity": "2026-04-07T02:50:00Z"
}
사용자가 JupyterHub에 미등록 상태라면 server_running: false를 반환합니다 (에러 아님).
POST /api/v1/notebooks/{username}
설명: 사용자의 노트북 서버를 시작합니다. (HTTP 202)
사용자가 JupyterHub에 미등록 상태라면 자동으로 유저를 생성한 후 서버를 시작합니다.
DELETE /api/v1/notebooks/{username}
설명: 사용자의 노트북 서버를 중지합니다.
인증
JWT Bearer 토큰이 필요합니다. 본인 또는 관리자만 서버를 관리할 수 있습니다.
참고
- JupyterHub API를 프록시합니다.
- 서버 시작은 비동기로 처리되며, HTTP 202를 반환합니다.
- 관리자는 모든 사용자의 서버를 관리할 수 있습니다.
에러 코드
| 코드 | 설명 |
|---|---|
| 403 | 다른 사용자의 서버 관리 권한 없음 |
| 404 | 노트북 서버를 찾을 수 없음 (DELETE 시) |
| 503 | JupyterHub 서비스 미연결 |