개발자
API 참조
세션 또는 API 키로 인증하고 구현된 계정, 견적, 인스턴스 및 결제 엔드포인트를 사용하십시오.
8분 읽기 · 업데이트됨인증
기본 경로는 /api/v1.입니다. 브라우저 요청은 로그인 시 생성된 HttpOnly 세션 쿠키를 사용합니다. 스크립트는 Authorization: Bearer 다음에 활성 API 키를 사용할 수 있습니다. 키는 전체 계정 권한을 가지며 생성 시 한 번만 표시됩니다.
로컬 UI는 gh_demo_ 키를 사용합니다. 키를 취소하면 해당 키를 사용하는 새로운 인증 요청이 즉시 차단됩니다. 키를 URL이나 브라우저 측 번들에 넣지 마세요.
GET /api/v1/balance
Authorization: Bearer <your-api-key>
200 OK
{ "currency": "USD", "balanceCents": 50000, "derivedFrom": "ledger_entries" }요청 및 재시도 규칙
POST 및 PATCH 본문은 JSON 객체이며 Content-Type: application/json입니다. 매개변수가 없는 작업에는 {}를 보내세요. 본문은 텍스트 32 KiB로 제한됩니다. 응답은 Cache-Control: no-store를 사용합니다.
배포, 수동 갱신 및 철회에는 8–128자의 Idempotency-Key이(가) 필요합니다. 새 의도된 작업에는 새 키를 사용하고 재시도에는 동일한 키를 재사용하세요. 다른 본문과 함께 재사용하지 마세요. 재생 응답에는 replayed: true가 포함됩니다.
인스턴스 견적은 용량을 예약하지 않고 현재 카탈로그 가격을 계산합니다. 배포 시 expectedPriceCents를 보내세요. 불일치하면 409이 반환되므로 가격을 다시 검토할 수 있습니다.
POST /api/v1/instances
Content-Type: application/json
Idempotency-Key: <unique-operation-id>
Authorization: Bearer <your-api-key>
{
"sku": "nvidia-rtx-4090",
"gpuCount": 1,
"region": "dal",
"image": "pytorch",
"period": "week",
"options": [],
"sshKeyId": "<saved-key-id>",
"autoRenew": false,
"expectedPriceCents": 11000
}구현된 엔드포인트
모든 계정 리소스는 소유자에게만 제한됩니다. 가용성 엔드포인트는 공개되어 있으며 라이브 하드웨어 프로브가 아닌 카탈로그 스냅샷을 노출합니다.
| 방법 | /api/v1 이후 경로 | 목적 |
|---|---|---|
| POST | /auth/register · /auth/login | 사용자 이름 + 비밀번호; 세션 생성 |
| POST | /auth/recover | 사용자 이름 + 미사용 코드 + 새 비밀번호 |
| POST | /auth/logout | 현재 브라우저 세션 취소 |
| GET | /me · /balance · /ledger | 계정, 잔액 및 최근 100개 항목 |
| GET / DELETE | /sessions · /sessions/:id | 활성 세션 나열 또는 하나 해지 |
| GET | /availability | 공개 카탈로그 및 지역 재고 스냅샷 |
| GET / POST | /deposit-quotes | 활성 견적을 나열하거나 asset + desiredUsdCents로 새 견적을 생성하세요 |
| POST | /demo/confirm-deposit | 견적 ID; 로컬 개발 전용 |
| GET | /deposits · /withdrawals | 이 계정의 최신 100개 기록 |
| POST | /withdrawals | 자산 + 대상 + amountUsdCents; 멱등적 |
| POST | /instance-quotes | GPU, 수량, 지역, 이미지, 기간 및 옵션 |
| GET / POST | /instances | 할당을 나열하거나 배포하세요. 배포는 멱등적입니다 |
| POST | /instances/:id/start · stop · release · renew | 수명 주기 작업; 갱신은 멱등적입니다 |
| PATCH | /instances/:id/auto-renew | enabled를 true 또는 false로 설정 |
| GET / POST | /ssh-keys · /api-keys | 계정 키 나열 또는 생성 |
| DELETE | /ssh-keys/:id · /api-keys/:id | 키 폐기 |
오류를 명시적으로 처리하세요
오류에는 {error, message}가 있습니다: 안정적인 코드와 읽기 쉬운 설명. 400은(는) 잘못된 입력, 401은(는) 누락되거나 잘못된 인증, 403은(는) 거부된 출처, 404은(는) 알 수 없거나 소유하지 않은 리소스, 409은(는) 잔액/state/duplicate 충돌, 415은(는) 잘못된 콘텐츠 유형을 나타냅니다.
만료된 입금 견적의 경우 다른 견적을 생성하세요. 인스턴스 상태가 변경된 경우 다른 작업을 결정하기 전에 인스턴스를 다시 로드하세요. 네트워크 중단 후에는 두 번째 요금을 생성하지 말고 작업 키를 재사용하세요.