API üzerinden sunucu sipariş etmek tek bir istek. Bu konu 4 API çağrısıyla VPS sipariş edin sayfasında. Bu sayfa sonrasındaki her şeyle ilgili: normalde panelde tıklayarak yapacağınız rutin işlemler, bir betiğe yapıştırabileceğiniz curl komutları olarak.
Aşağıdaki her komutu yayımlamadan önce API'mize karşı çalıştırdık; yanıtlar dönen sonucun kısaltılmış kopyalarıdır.
Hazırlık
İki değişken komutları kısa tutar:
export API=https://api.eqvps.com/api/v1/eqvps
export EQVPS_TOKEN='paste-your-token-here'
Token POST /auth/register üzerinden ya da paneldeki Settings → API tokens bölümünden gelir. Makineyi başkaları da kullanıyorsa shell geçmişinin dışında tutun; export EQVPS_TOKEN=$(cat ~/.eqvps_token) ile bir dosyadan okumak yeterlidir.
Sunucularınızı bulun
curl -s $API/services -H "Authorization: Bearer $EQVPS_TOKEN"
Her kaydın 47HZ7YF gibi bir id değeri vardır. Diğer tüm çağrıların aldığı hizmet kodu budur. Ardından tek bir sunucunun tam görünümü:
curl -s $API/services/47HZ7YF -H "Authorization: Bearer $EQVPS_TOKEN"
{ "data": {
"id": "47HZ7YF", "status": "active", "queued": false,
"product": { "slug": "nano", "name": "Nano" },
"specs": { "vcpu": 2, "memory_mb": 1024, "disk_gb": 15 },
"hostname": "agent-box",
"vm": { "state": "running", "uptime": 5340 },
"access": { "method": "ssh", "host": "203.0.113.10", "port": 21521, "user": "root", "nat": true, ... } } }
access nasıl giriş yapacağınızı söyler. Kendi IPv4'ü olan bir pakette port 22'dir; NAT paketinde size özel yönlendirilmiş porttur. Bu çağrı yalnızca okur, bu yüzden döngüde sorgulamak güvenlidir.
SSH anahtarı olmadan sipariş verdiyseniz root parolası bir kez gösterilir:
curl -s "$API/services/47HZ7YF?reveal=1" -H "Authorization: Bearer $EQVPS_TOKEN"
Sunucu hâlâ açılıyorken yanıt password_pending der ve tek seferlik gösterim harcanmaz. Yarım dakika bekleyip tekrar sorun.
Güç: start, stop, reboot
curl -s -X POST $API/services/47HZ7YF/power \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"action": "reboot"}'
action değeri start, stop veya reboot olur. Henüz etkin olmayan bir sunucu (hâlâ oluşturuluyor ya da ödeme yapılmadığı için askıya alınmış) 409 Service is not active yanıtını verir. Bu betiğinizde bir hata değildir. Önce status değerini kontrol edin.
Metrikler
curl -s "$API/services/47HZ7YF/metrics?timeframe=day" -H "Authorization: Bearer $EQVPS_TOKEN"
CPU, bellek, ağ ve disk bir zaman serisi olarak. timeframe değeri hour (varsayılan), day, week veya month olur. Disk sürekli büyüdüğünde sizi uyaran bir cron işi için kullanışlıdır. Mevcut fatura dönemine ait trafik sayaçları Hız ve trafiği kontrol edin sayfasındadır.
Sunucunun adını değiştirin
curl -s -X POST $API/services/47HZ7YF/hostname \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"hostname": "web-01"}'
Yeni ad, misafir ajan tarafından çalışan sistemin içinde uygulanır; Linux'ta yeniden başlatma gerekmez. Sunucu durdurulmuşsa ya da qemu-guest-agent paketini kaldırdıysanız çağrı 409 agent_unavailable döndürür ve hiçbir şey değişmez.
İşletim sistemini yeniden kurun
Bu işlem diski siler. API, sunucunun mevcut hostname'ini confirm alanına yazmanızı ister; böylece yanlış hizmet id'li bir betik yanlış makineyi silemez:
curl -s -X POST $API/services/47HZ7YF/reinstall \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"os_id": 4, "confirm": "web-01"}'
os_id, GET /products içindeki paketinizin available_os listesinden ya da sunucunun kendi ayrıntılarından gelir. Yeniden kurulum arka planda çalışır; status yeniden active olana kadar GET /services/{id} çağrısını sorgulayın.
Yenileme ve bakiye
Sunucular her ay ön ödemeli bakiyenizden yenilenir. Bu sunucu için daha uzun sürelerin ne tuttuğunu görmek için:
curl -s $API/services/47HZ7YF/renew-options -H "Authorization: Bearer $EQVPS_TOKEN"
Peşin ödemek için, örneğin üç ay, tek çağrıda:
curl -s -X POST $API/services/47HZ7YF/renew \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"months": 3}'
months değeri 1, 3, 6 veya 12 olur; 12, indirimli yıllık fiyatla faturalandırılır. Yanıt paid_from_balance: true der ve yeni bitiş tarihini verir. Bakiye tutarı karşılamıyorsa hiçbir şey tahsil edilmez: paid_from_balance: false ve bunun yerine o fatura için bir checkout_url alırsınız. Bakiye yüklendikten sonra POST $API/invoices/{invoice_id}/pay o faturayı bakiyeden öder; bakiye hâlâ yetmiyorsa aynı türde bir checkout_url döndürür ve hiçbir şey tahsil etmez. Bakiyeyi kontrol etmek ve yüklemek:
curl -s $API/balance -H "Authorization: Bearer $EQVPS_TOKEN"
curl -s -X POST $API/balance/topup \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"amount": 25}'
Yükleme yanıtı bir checkout_url içerir. Bu bir kripto ödemesidir: Base, Ethereum veya Polygon üzerinde USDT, USDC ya da ETH. Ödeme zincirde onaylanınca bakiyeye yansır. Ödemek, bir cüzdanı yoksa betiğin sizin yerinize yapamayacağı tek adımdır.
Monero da çalışır, ama yalnızca elle doğrulanan bakiye yüklemesi olarak: XMR gönderirsiniz, işlem kimliğini iletirsiniz, biz de doğruladıktan sonra yansıtırız. Bkz. Monero ile ödeyin.
İptal edin ve fikrinizi değiştirin
Güvenli iptal türü, sunucuyu ödenmiş dönemin sonuna kadar çalışır hâlde tutar ve yalnızca yenilemez:
curl -s -X POST $API/services/47HZ7YF/cancel \
-H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
-d '{"type": "end_of_period", "reason": "moving the project elsewhere"}'
reason zorunludur. Birkaç kelime yeterlidir. Tarihten önce fikrinizi mi değiştirdiniz?
curl -s -X POST $API/services/47HZ7YF/cancel/undo -H "Authorization: Bearer $EQVPS_TOKEN"
"type": "immediate" da vardır. Sunucuyu ve verilerini anında siler, "confirm": "<hostname>" gerektirir ve geri alınamaz. Gerçekten bunu istemiyorsanız end_of_period kullanın.
Token'ı canlı tutun
Yeni token'lar varsayılan olarak bir yıl yaşar. Kimliği doğrulanmış her yanıt bir X-Token-Expires-At başlığı taşır; böylece betik bunu erkenden fark edebilir. Token'ı yenisiyle değiştirin:
curl -s -X POST $API/auth/token/refresh -H "Authorization: Bearer $EQVPS_TOKEN"
Eski token hemen çalışmayı bırakır, bu yüzden başka bir şey yapmadan önce yenisini kaydedin.
Ele alınmaya değer hatalar
| Kod | Anlamı | Ne yapmalı |
|---|---|---|
| 401 | Token yok, iptal edilmiş veya süresi dolmuş | Yenileyin ya da yeni bir tane oluşturun |
| 402 | Yalnızca bakiye kullanan bir işlem (örneğin paket değişikliği) için bakiye yetersiz | Yükleyin, sonra aynı çağrıyı tekrarlayın |
| 409 | Sunucu uygun durumda değil (henüz etkin değil, işlem sürüyor, geri alınacak bir şey yok) | message değerini okuyun, status kontrol edin, sonra yeniden deneyin |
| 422 | Bir alan hatalı veya eksik | Yanıt hangisi olduğunu söyler |
| 429 | Çok fazla istek | Retry-After kadar bekleyin |
Bunu bir betik yerine yapay zekâ istemcisinden mi yapıyorsunuz? Aynı işlemler MCP araçları olarak da var — bkz. Bir ajan kendi VPS'ini MCP ile nasıl yönetir ve API başvurusu. Henüz sunucunuz yoksa bir paket seçin.
Yorumlar
Henüz yorum yok. İlk olun.