Geliştiriciler
API başvurusu
Bir oturum veya API anahtarıyla kimlik doğrulaması yapın ve uygulanan hesap, teklif, örnek ve faturalandırma uç noktalarını kullanın.
8 dk okuma · GüncellendiKimlik doğrulama
Temel yol /api/v1. Tarayıcı istekleri, oturum açmada oluşturulan HttpOnly oturum çerezini kullanır. Betikler, Authorization: Bearer ve ardından etkin bir API anahtarı kullanabilir. Anahtarlar tam hesap izinlerine sahiptir ve oluşturulduklarında bir kez gösterilir.
Yerel kullanıcı arayüzü gh_demo_ anahtarlarını kullanır. Bir anahtarı iptal etmek, onu kullanan yeni kimliği doğrulanmış istekleri hemen engeller. Anahtarları URL'lere veya tarayıcı tarafı paketlere koymayın.
GET /api/v1/balance
Authorization: Bearer <your-api-key>
200 OK
{ "currency": "USD", "balanceCents": 50000, "derivedFrom": "ledger_entries" }İstek ve yeniden deneme kuralları
POST ve PATCH gövdeleri JSON nesneleridir; Content-Type: application/json ile birlikte. Parametresiz eylemler için {} gönderin. Gövdeler 32 KiB metinle sınırlıdır. Yanıtlar Cache-Control: no-store kullanır.
Dağıtım, manuel yenileme ve geri çekme, 8–128 karakter uzunluğunda bir Idempotency-Key gerektirir. Yeni bir amaçlanan işlem için yeni bir anahtar kullanın ve yeniden denemesi için aynı anahtarı yeniden kullanın. Farklı bir gövdeyle asla yeniden kullanmayın. Bir tekrar yanıtı replayed: true içerir.
Örnek teklifleri, kapasite rezerve etmeden güncel katalog fiyatını hesaplar. Dağıtım sırasında expectedPriceCents gönderin; bir uyumsuzluk 409 döndürür, böylece fiyat yeniden gözden geçirilebilir.
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
}Uygulanan uç noktalar
Tüm hesap kaynakları sahipleriyle sınırlıdır. Kullanılabilirlik uç noktası herkese açıktır ve canlı bir donanım yoklaması değil, katalog anlık görüntüsünü sunar.
| Yöntem | /api/v1 sonrasındaki yol | Amaç |
|---|---|---|
| POST | /auth/register · /auth/login | Kullanıcı adı + parola; oturum oluştur |
| POST | /auth/recover | Kullanıcı adı + kullanılmamış kod + yeni parola |
| POST | /auth/logout | Geçerli tarayıcı oturumunu iptal et |
| GET | /me · /balance · /ledger | Hesap, bakiye ve son 100 kayıt |
| GET / DELETE | /sessions · /sessions/:id | Etkin oturumları listeleyin veya birini iptal edin |
| GET | /availability | Genel katalog ve bölgesel stok anlık görüntüsü |
| GET / POST | /deposit-quotes | Etkin teklifleri listeleyin veya asset + desiredUsdCents ile bir tane oluşturun |
| POST | /demo/confirm-deposit | Teklif kimliği; yalnızca yerel geliştirme |
| GET | /deposits · /withdrawals | Bu hesap için son 100 kayıt |
| POST | /withdrawals | Varlık + hedef + amountUsdCents; idempotent |
| POST | /instance-quotes | GPU, sayı, bölge, görüntü, dönem ve seçenekler |
| GET / POST | /instances | Tahsisleri listeleyin veya dağıtın; dağıtım idempotenttir |
| POST | /instances/:id/start · stop · release · renew | Yaşam döngüsü eylemi; yenileme yinelenebilir |
| PATCH | /instances/:id/auto-renew | Etkin değerini true veya false olarak ayarlayın |
| GET / POST | /ssh-keys · /api-keys | Hesap anahtarlarını listeleyin veya oluşturun |
| DELETE | /ssh-keys/:id · /api-keys/:id | Bir anahtarı iptal et |
Hataları açıkça ele alın
Hatalar {error, message} içerir: sabit bir kod ve okunabilir bir açıklama. 400 geçersiz girdiyi, 401 eksik veya geçersiz kimlik doğrulamayı, 403 reddedilen bir kaynağı, 404 bilinmeyen veya sahipsiz bir kaynağı, 409 bir bakiye/state/duplicate çakışmasını ve 415 yanlış içerik türünü belirtir.
Süresi dolmuş bir depozito teklifi için başka bir teklif oluşturun. Değişen bir örnek durumu için, başka bir eyleme karar vermeden önce örneği yeniden yükleyin. Bir ağ kesintisinden sonra ikinci bir ücret oluşturmak yerine işlem anahtarını yeniden kullanın.