開発者
APIリファレンス
セッションまたはAPIキーで認証し、実装済みのアカウント、見積もり、インスタンス、請求エンドポイントを使用してください。
8 分で読了 · 更新認証
ベースパスは/api/v1.です。ブラウザリクエストは、ログイン時に作成されるHttpOnlyセッションCookieを使用します。スクリプトでは、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 | アクティブなセッションを一覧表示するか、1つを取り消す |
| 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は誤ったコンテンツタイプを示します。
期限切れのデポジット見積もりについては、別の見積もりを作成してください。インスタンスの状態が変更された場合は、別のアクションを決定する前にインスタンスを再読み込みしてください。ネットワーク中断後は、2回目の請求を作成するのではなく、操作キーを再利用してください。