{"components":{"securitySchemes":{"bearerAuth":{"bearerFormat":"opaque","description":"op_u_ 전권 토큰 또는 opk_ 스코프 키","scheme":"bearer","type":"http"}}},"info":{"description":"onpod 공개 REST API.\n\n베이스 URL: `https://api.onpod.ai`\n\n**인증.** 모든 엔드포인트(version·manual·openapi.json 제외)는 `Authorization: Bearer \u003c토큰\u003e` 가 필요합니다.\n- `op_u_…` — 계정/CLI 전권 토큰(`onpod login` 또는 콘솔에서 발급한 기본 키).\n- `opk_…` — 엔터프라이즈 스코프 키. 발급 시 지정한 스코프 안에서만 동작하고, 만료를 둘 수 있습니다.\n\n**스코프(opk_ 키 전용).** `resource:action` 형식입니다. resource ∈ {pods, databases, volumes, static, backups, billing, pod-templates, domains, partner}, action ∈ {read, write}. `resource:*` 는 읽기+쓰기, `*` 는 전권입니다. write 스코프는 같은 리소스의 read 를 포함합니다. 권한이 부족하면 `403 scope_insufficient` 가 반환됩니다. 계정·키 관리(/me, /auth, /api-keys)는 스코프 키로 호출할 수 없습니다.\n\n**파트너(리셀러).** 외부 플랫폼이 자기 end-user 별로 격리된 onpod 신분과 스코프 토큰을 프로그래밍 방식으로 발급·폐기할 수 있습니다(`/v1/partner/*`). `partner:*` 스코프 키 + 파트너 계정이 필요하고, child 토큰은 항상 최소권한 `opk_` 로 발급됩니다(전권·partner 스코프 불가). 파트너 활성화는 onpod 에 요청하세요.\n\n**관리형 레지스트리.** `POST /v1/partner/users/{id}/registry` 로 child 앱의 onpod-관리 ECR 네임스페이스(`onpod/\u003cpartner\u003e/\u003cchild\u003e/\u003capp\u003e`)를 만들고 단기 push 자격을 받습니다. 거기에 이미지를 push 하면, 그 child 토큰으로 해당 이미지를 자격증명 없이 그대로 배포할 수 있고(onpod 이 내부에서 pull) GitHub PAT 가 불필요합니다. 본인 네임스페이스의 이미지만 배포 가능합니다.","title":"onpod API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/v1/api-keys":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"API 키 목록","tags":["api-keys"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"API 키 발급(스코프·만료 지정 가능)","tags":["api-keys"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/api-keys/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"API 키 회수","tags":["api-keys"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/apps/{slug}/domains":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"커스텀 도메인 목록","tags":["domains"],"x-onpod-scope":"domains:read"},"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"커스텀 도메인 추가","tags":["domains"],"x-onpod-scope":"domains:write"}},"/v1/apps/{slug}/domains/{id}":{"delete":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"커스텀 도메인 삭제","tags":["domains"],"x-onpod-scope":"domains:write"}},"/v1/apps/{slug}/domains/{id}/cf-autosetup":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"Cloudflare 자동 등록","tags":["domains"],"x-onpod-scope":"domains:write"}},"/v1/apps/{slug}/domains/{id}/dns-provider":{"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"DNS 공급자 감지","tags":["domains"],"x-onpod-scope":"domains:read"}},"/v1/apps/{slug}/domains/{id}/verify":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"도메인 DNS 검증","tags":["domains"],"x-onpod-scope":"domains:write"}},"/v1/backups":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"사용자 전체 백업 인덱스","tags":["backups"],"x-onpod-scope":"backups:read"}},"/v1/bill/summary":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"사용량/청구 요약","tags":["billing"],"x-onpod-scope":"billing:read"}},"/v1/billing/auto-recharge":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"자동 충전 설정 조회","tags":["billing"],"x-onpod-scope":"billing:read"},"put":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"자동 충전 설정","tags":["billing"],"x-onpod-scope":"billing:write"}},"/v1/billing/balance":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"잔액/버레이트","tags":["billing"],"x-onpod-scope":"billing:read"}},"/v1/billing/cards":{"delete":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"카드 삭제","tags":["billing"],"x-onpod-scope":"billing:write"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"카드 저장","tags":["billing"],"x-onpod-scope":"billing:write"}},"/v1/billing/topups":{"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"충전 요청 생성","tags":["billing"],"x-onpod-scope":"billing:write"}},"/v1/billing/topups/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"충전 상태 조회","tags":["billing"],"x-onpod-scope":"billing:read"}},"/v1/billing/topups/{id}/confirm":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"충전 확정","tags":["billing"],"x-onpod-scope":"billing:write"}},"/v1/billing/transactions":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"거래 내역","tags":["billing"],"x-onpod-scope":"billing:read"}},"/v1/billing/usage-daily":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"일별 사용량","tags":["billing"],"x-onpod-scope":"billing:read"}},"/v1/buckets":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"파일 저장소(버킷) 목록","tags":["buckets"],"x-onpod-scope":"buckets:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"파일 저장소(버킷) 생성","tags":["buckets"],"x-onpod-scope":"buckets:write"}},"/v1/buckets/keys":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"액세스키 목록","tags":["buckets"],"x-onpod-scope":"buckets:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"액세스키 발급(S3 호환)","tags":["buckets"],"x-onpod-scope":"buckets:write"}},"/v1/buckets/keys/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"액세스키 폐기","tags":["buckets"],"x-onpod-scope":"buckets:write"}},"/v1/buckets/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"파일 저장소(버킷) 삭제","tags":["buckets"],"x-onpod-scope":"buckets:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"파일 저장소(버킷) 상세","tags":["buckets"],"x-onpod-scope":"buckets:read"}},"/v1/databases":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"데이터베이스 목록","tags":["databases"],"x-onpod-scope":"databases:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"데이터베이스 생성","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"데이터베이스 삭제","tags":["databases"],"x-onpod-scope":"databases:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"데이터베이스 상세","tags":["databases"],"x-onpod-scope":"databases:read"}},"/v1/databases/{id}/allowlist":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"접속 허용 IP 설정","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/attached-apps":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"연결된 앱 미리보기","tags":["databases"],"x-onpod-scope":"databases:read"}},"/v1/databases/{id}/authorize-clients":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"클라이언트 SG 인가","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/backup":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"백업 실행","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/compute":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"컴퓨트 오토스케일 설정","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/initial-credentials":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"초기 자격 1회 reveal","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/rename":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"라벨 변경","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/resize":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"리사이즈","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/restore":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"복구","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/rotate-password":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"비밀번호 로테이트","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/start":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"시작","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/stop":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정지","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/databases/{id}/storage":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"스토리지 오토스케일 설정","tags":["databases"],"x-onpod-scope":"databases:write"}},"/v1/deployments/{id}/metrics":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"배포 메트릭(레거시)","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/deployments/{id}/sample":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"배포 샘플(레거시)","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/gpus":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"}},"security":[{"bearerAuth":[]}],"summary":"사용 가능한 GPU/CPU SKU 와 가격","tags":["catalog"]}},"/v1/manual":{"get":{"responses":{"200":{"description":"성공"}},"summary":"AI 에이전트용 매뉴얼(평문)","tags":["meta"]}},"/v1/me":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"내 계정 정보","tags":["account"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"},"patch":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"계정 정보 수정","tags":["account"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/me/app-spend-cap":{"put":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"계정 기본 앱 월 지출 한도(원)","tags":["account"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/me/audit":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"내 활동 기록","tags":["account"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/me/delete":{"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"계정 삭제","tags":["account"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/me/password":{"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 키로는 호출 불가"}},"security":[{"bearerAuth":[]}],"summary":"비밀번호 설정/변경","tags":["account"],"x-onpod-scope":"account (opk_ 스코프 키 불가)"}},"/v1/openapi.json":{"get":{"responses":{"200":{"description":"성공"}},"summary":"이 OpenAPI 스펙","tags":["meta"]}},"/v1/partner":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"파트너 프로필/child 수","tags":["partner"],"x-onpod-scope":"partner:read"}},"/v1/partner/usage":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 별 잔액 롤업","tags":["partner"],"x-onpod-scope":"partner:read"}},"/v1/partner/users":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 목록","tags":["partner"],"x-onpod-scope":"partner:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 신분 생성(멱등)","tags":["partner"],"x-onpod-scope":"partner:write"}},"/v1/partner/users/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 비활성+토큰 전량 폐기","tags":["partner"],"x-onpod-scope":"partner:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 상세","tags":["partner"],"x-onpod-scope":"partner:read"},"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 활성/비활성","tags":["partner"],"x-onpod-scope":"partner:write"}},"/v1/partner/users/{id}/credit":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 크레딧 이체","tags":["partner"],"x-onpod-scope":"partner:write"}},"/v1/partner/users/{id}/registry":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 앱 레지스트리 네임스페이스+push 자격","tags":["partner"],"x-onpod-scope":"partner:write"}},"/v1/partner/users/{id}/tokens":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 토큰 목록","tags":["partner"],"x-onpod-scope":"partner:read"},"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 스코프 토큰 발급(opk_)","tags":["partner"],"x-onpod-scope":"partner:write"}},"/v1/partner/users/{id}/tokens/{tid}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"tid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"child 토큰 폐기","tags":["partner"],"x-onpod-scope":"partner:write"}},"/v1/pod-groups":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 그룹 목록","tags":["pods"],"x-onpod-scope":"pods:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 그룹 생성","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pod-groups/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 그룹 삭제","tags":["pods"],"x-onpod-scope":"pods:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 그룹 상세","tags":["pods"],"x-onpod-scope":"pods:read"},"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 그룹 수정","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pod-groups/{id}/env":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"환경변수 목록(자동 확장)","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pod-groups/{id}/env-merge":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"환경변수 병합(자동 확장)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pod-groups/{id}/scale":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"런타임 replica 조정(replica_min/replica_max/desired_replicas·큐-깊이 오토스케일)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pod-groups/{id}/spend-cap":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"자동 확장 앱 월 지출 한도 설정(원)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pod-templates":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"템플릿 목록","tags":["pod-templates"],"x-onpod-scope":"pod-templates:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"템플릿 생성","tags":["pod-templates"],"x-onpod-scope":"pod-templates:write"}},"/v1/pod-templates/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"템플릿 삭제","tags":["pod-templates"],"x-onpod-scope":"pod-templates:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"템플릿 상세","tags":["pod-templates"],"x-onpod-scope":"pod-templates:read"},"put":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"템플릿 수정","tags":["pod-templates"],"x-onpod-scope":"pod-templates:write"}},"/v1/pods":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 목록","tags":["pods"],"x-onpod-scope":"pods:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 생성","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/bulk-remove":{"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 일괄 삭제","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/metrics":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"전체 팟 메트릭","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 삭제","tags":["pods"],"x-onpod-scope":"pods:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 상세","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/ai-ready":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"AI-Ready(llms/sitemap/robots·JSON-LD) 토글","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/backups":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 백업 목록","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/backups/{file_id}/download":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"file_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 백업 다운로드","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/egress":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"고정 Egress IP 끄기","tags":["pods"],"x-onpod-scope":"pods:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"고정 Egress IP 상태·등급·가격","tags":["pods"],"x-onpod-scope":"pods:read"},"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"고정 Egress IP 켜기(공유/전용)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/env":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"환경변수 키 목록(값은 ***)","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/env-merge":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"환경변수 병합","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/exec":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 안에서 명령 실행","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/failure-logs":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"실패한 팟의 종료 직전 로그","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/free-tier":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"무료 티어(scale-to-zero) 토글","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/logs":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 로그","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/metrics":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 메트릭","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/metrics/history":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 메트릭 이력","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/migrate":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 이전","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/pause":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 일시정지","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/policy":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 정책(eviction 등)","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/pods/{id}/rename":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 라벨 변경","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/restart":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 재시작","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/restart-policy":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"자동 재시작 정책 설정","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/resume":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"팟 재개","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/rollback":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"이전 배포로 롤백","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/slug":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"공개 주소(slug) 교체(재배포 없이 URL만)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/spend-cap":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"앱 월 지출 한도 설정(원·자동 확장 hard ceiling)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/ssh":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"인터랙티브 셸·SSH 터널 (WebSocket)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/swap-image":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"이미지 교체(데이터 보존)","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/upgrade":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"앱을 다음 플랜으로 무중단 업그레이드","tags":["pods"],"x-onpod-scope":"pods:write"}},"/v1/pods/{id}/upgrade-options":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"이 앱이 올릴 수 있는 플랜·가격","tags":["pods"],"x-onpod-scope":"pods:read"}},"/v1/sandboxes":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"코드 샌드박스 목록","tags":["sandboxes"],"x-onpod-scope":"sandboxes:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"코드 샌드박스 생성(임시·TTL)","tags":["sandboxes"],"x-onpod-scope":"sandboxes:write"}},"/v1/sandboxes/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"코드 샌드박스 teardown","tags":["sandboxes"],"x-onpod-scope":"sandboxes:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"코드 샌드박스 상세","tags":["sandboxes"],"x-onpod-scope":"sandboxes:read"}},"/v1/sandboxes/{id}/exec":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"샌드박스 안에서 명령 실행","tags":["sandboxes"],"x-onpod-scope":"sandboxes:write"}},"/v1/sandboxes/{id}/exec-stream":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"샌드박스 명령 스트리밍 실행 (WebSocket)","tags":["sandboxes"],"x-onpod-scope":"sandboxes:write"}},"/v1/sandboxes/{id}/files":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"샌드박스에서 파일 읽기","tags":["sandboxes"],"x-onpod-scope":"sandboxes:read"},"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"샌드박스에 파일 쓰기","tags":["sandboxes"],"x-onpod-scope":"sandboxes:write"}},"/v1/static/deployments/{id}/finalize":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정적 배포 확정(원자적 스왑)","tags":["static"],"x-onpod-scope":"static:write"}},"/v1/static/sites":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정적 사이트 목록","tags":["static"],"x-onpod-scope":"static:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정적 사이트 생성","tags":["static"],"x-onpod-scope":"static:write"}},"/v1/static/sites/{slug}":{"delete":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정적 사이트 삭제","tags":["static"],"x-onpod-scope":"static:write"},"get":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정적 사이트 상세","tags":["static"],"x-onpod-scope":"static:read"}},"/v1/static/sites/{slug}/deployments":{"post":{"parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"정적 배포 시작(업로드 URL)","tags":["static"],"x-onpod-scope":"static:write"}},"/v1/version":{"get":{"responses":{"200":{"description":"성공"}},"summary":"API 버전","tags":["meta"]}},"/v1/volumes":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"보관함 목록","tags":["volumes"],"x-onpod-scope":"volumes:read"},"post":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"보관함 생성","tags":["volumes"],"x-onpod-scope":"volumes:write"}},"/v1/volumes/{id}":{"delete":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"보관함 삭제","tags":["volumes"],"x-onpod-scope":"volumes:write"},"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"보관함 상세","tags":["volumes"],"x-onpod-scope":"volumes:read"}},"/v1/volumes/{id}/rename":{"patch":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"},"403":{"description":"스코프 부족(scope_insufficient)"}},"security":[{"bearerAuth":[]}],"summary":"보관함 이름 변경","tags":["volumes"],"x-onpod-scope":"volumes:write"}},"/v1/whoami":{"get":{"responses":{"200":{"description":"성공"},"401":{"description":"인증 실패(토큰 없음/무효)"}},"security":[{"bearerAuth":[]}],"summary":"현재 토큰의 사용자 식별","tags":["account"]}}},"security":[{"bearerAuth":[]}],"servers":[{"description":"production","url":"https://api.onpod.ai"}],"tags":[{"name":"account"},{"name":"api-keys"},{"name":"backups"},{"name":"billing"},{"name":"buckets"},{"name":"catalog"},{"name":"databases"},{"name":"domains"},{"name":"meta"},{"name":"partner"},{"name":"pod-templates"},{"name":"pods"},{"name":"sandboxes"},{"name":"static"},{"name":"volumes"}]}
