−25%

yıllık Windows ödemesinde, 31 Ekim'e kadar. Paketlere git

EQVPS
Hemen başla

VPS'inizi REST API ve curl ile yönetin: durum, güç, yeniden kurulum, yenileme

Sunucu siparişinden sonra panelde yaptığınız her şey — durumu kontrol etmek, yeniden başlatmak, metrikleri okumak, adını değiştirmek, işletim sistemini yeniden kurmak, birkaç aylığına yenilemek, iptal edip geri almak — gerçek yanıtlarıyla kopyalanabilir curl komutları olarak.

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

KodAnlamıNe yapmalı
401Token yok, iptal edilmiş veya süresi dolmuşYenileyin ya da yeni bir tane oluşturun
402Yalnızca bakiye kullanan bir işlem (örneğin paket değişikliği) için bakiye yetersizYükleyin, sonra aynı çağrıyı tekrarlayın
409Sunucu 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
422Bir alan hatalı veya eksikYanıt hangisi olduğunu söyler
429Çok fazla istekRetry-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.

SSS

VPS'imi otomatikleştirmek için MCP sunucusu gerekli mi?

Hayır. MCP, yapay zekâ istemcileri için bir kolaylıktır; her MCP aracı arka planda aynı REST API'yi çağırır. Bir shell betiği, cron işi veya CI hattı aynı token ile doğrudan curl kullanabilir.

Token'ı nereden alırım?

POST /auth/register ile (kendi kendine kaydolan bir ajan) ya da panelden: Settings → API tokens. Yeni token'lar varsayılan olarak bir yıl geçerlidir; POST /auth/token/refresh süresi dolmadan token'ı yenisiyle değiştirir.

Yanlış bir komut sunucumu silebilir mi?

Yalnızca iki çağrı veri yok eder: yeniden kurulum ve anında iptal. İkisi de confirm alanında sunucunun tam hostname'ini tekrarlamadıkça çalışmaz. Yeniden başlatma, durdurma, hostname ve yenileme dosyalarınıza dokunmaz.

Yenileme nasıl ödenir?

Ön ödemeli bakiyeden. Bakiye yetiyorsa sunucu her ay kendiliğinden yenilenir; POST /services/{id}/renew tek çağrıda 1, 3, 6 veya 12 ayı peşin öder. Bakiye yetmezse aynı çağrı bir şey tahsil etmek yerine kripto ödeme bağlantılı bir fatura döndürür.

İstek sınırı var mı?

Evet, token ve işlem başına — örneğin dakikada 10 token yenileme, dakikada 20 destek talebi. Birkaç saniyede bir durumu sorgulayan bir betik sorun değildir; güç işlemlerini döngüde yağdıran bir betik Retry-After ile 429 alır.

Yorumlar

Henüz yorum yok. İlk olun.

Bir yorum bırakın

Yorumlar görünmeden önce denetlenir.