Servisi WHMCS modul hook'u ile terminate et (asenkron)
DELETE/services/:id
WhmcsApiClient::moduleTerminate cagirilir. WHMCS provisioning queue
Virtualizor delvs job'unu async yurutur (~60s queue + ~30s delvs).
Bu yuzden response HTTP 202 Accepted doner; bayi sonra GET
/services/{id}/status ile takip eder.
Idempotency-Key: ZORUNLU (header yoksa 400 missing_idempotency_key).
Destructive op + double-click korumasi. Ayni key ile 24 saat icinde
gelen tekrar istek cached response doner — 2. delvs queue'ya dusmez.
Rate limit: Default bucket (60 rpm).
Body: {"confirm": true} STRICT bool === true. Truthy
degerler (1, "true", "yes") reddedilir → 400 invalid_terminate_request.
vps_id null: ATLA (izin verilir). Pending/whitelabel servisleri temizleme senaryosu — WHMCS moduleTerminate vps_id'ye bakmaz, serviceid ile calisir.
Side effect: mod_reseller_provisions.status='terminated' set
edilir + service.terminated event'i (status='skipped') webhook
queue'ya yazilir.
Request
Responses
- 202
- 400
- 401
- 403
- 404
- 429
- 502
Termination scheduled (async — WHMCS queue + Virtualizor delvs)
Response Headers
Bu key icin tanimli dakika basi limit
Mevcut window'da kalan istek sayisi
Sonraki window basinin Unix epoch'u (UTC saniye)
Invalid terminate request (invalid_terminate_request veya missing_idempotency_key)
Kimlik dogrulama basarisiz — eksik header, hatali credential, IP whitelist disi veya revoke edilmis key. Detay sizdirilmaz; tum durumlar tek mesaj.
Response Headers
RFC 7617 Basic Auth challenge
Yetki yetersiz — bayi baska bir bayinin service_id'sine erismeye calisti veya admin scope gerektiren endpoint icin yetersiz scope. Mesaj generic tutulur (ServiceOwnershipMiddleware sizinti onler).
Servis bulunamadi
Dakika basina limit asildi
Response Headers
429 sonrasi tekrar denemeden once beklenmesi gereken saniye (RFC 7231 §7.1.3)
Bu key icin tanimli dakika basi limit
Sonraki window basinin Unix epoch'u (UTC saniye)
WHMCS API upstream hatasi