v1 Beta — yayında
saatlik.cloud API
Kendi yazılımından sunucu kur, yönet, sonlandır. Türkiye'nin ilk saatlik sunucu API'si — tek bir curl komutuyla dakikalar içinde sunucun hazır.
1 Temel Bilgiler
| Base URL | https://api.saatlik.cloud/v1 |
| Format | JSON — istek ve yanıt gövdeleri (Content-Type: application/json) |
| Kimlik Doğrulama | Authorization: Bearer sc_live_... |
| Anahtar Yönetimi | Panel → Ayarlar → API Anahtarı — anahtar oluşturulurken bir kez gösterilir |
| Yetkiler | read okuma write kurma + güç + reinstall destroy sonlandırma (ayrıca seçilmeli) |
| Hız Limitleri | 60 istek/dk · sunucu kurma 2/saat · güç işlemi 10/saat · reinstall 1/saat (sunucu başına 30 dk arayla). Aşımda 429 + Retry-After başlığı döner. |
| Şartlar | API ile sipariş, hizmet sözleşmesinin kabulü sayılır |
2 Örnek İstekler
# Sunucularını listele
curl https://api.saatlik.cloud/v1/servers \
-H "Authorization: Bearer sc_live_XXXXXXXXXXXXXXXX"
# Yeni sunucu kur (Idempotency-Key ZORUNLU — retry'da çifte kurulumu önler)
curl -X POST https://api.saatlik.cloud/v1/servers \
-H "Authorization: Bearer sc_live_XXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: siparis-2026-001" \
-d '{"product":"hk-2","location":"prox","os":"ubuntu2404",
"hostname":"web1.alanadi.com","root_password":"GucluSifre123"}'
# Sunucuyu yeniden başlat
curl -X POST https://api.saatlik.cloud/v1/servers/HKC.../actions \
-H "Authorization: Bearer sc_live_XXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{"type":"reboot"}'
3 Uç Noktalar
| Metot | Uç Nokta | Açıklama | Yetki |
| GET | /v1/me | Hesap, bakiye, limitler ve kullanım | read |
| GET | /v1/servers | Sunucu listesi | read |
| GET | /v1/servers/{id} | Sunucu detayı (id = sunucu kimliği, örn. HKC...) | read |
| GET | /v1/products | Paketler ve saatlik fiyatlar (slug kurulumda kullanılır) | read |
| GET | /v1/locations | Lokasyonlar ve stok durumu | read |
| GET | /v1/images | Kurulabilir sistemler: os / panel / app | read |
| POST | /v1/servers | Sunucu kur — gövde: product, location, os, hostname, root_password (ops: billing_type, ip_type, sata_gb). Başlık: Idempotency-Key zorunlu. Başarı: 201 | write |
| POST | /v1/servers/{id}/actions | Güç işlemi — gövde: {"type":"start|stop|reboot|hard_reboot|resume"} | write |
| POST | /v1/servers/{id}/reinstall | Yeniden kur — gövde: os, root_password (ops: hostname). Başarı: 202 | write |
| DELETE | /v1/servers/{id} | Sunucuyu sonlandır (geri alınamaz). Başarı: 202 | destroy |
4 Hata Formatı
Hatalar standart HTTP kodları (401, 403, 404, 409, 422, 429) ve tutarlı bir JSON gövdesiyle döner:
{
"error": {
"code": "insufficient_credit",
"message": "Bakiyeniz bu işlem için yeterli değil."
}
}
| Kod | Anlamı |
missing_token / invalid_token | 401 — Bearer başlığı yok ya da anahtar geçersiz/iptal |
forbidden | 403 — anahtarın bu işlem için yetkisi yok |
not_found | 404 — sunucu ya da uç nokta yok |
invalid_state / already_terminated / request_in_progress | 409 — işlem sunucunun mevcut durumuyla çelişiyor |
validation_failed / invalid_product / invalid_image / invalid_action / missing_idempotency_key | 422 — istek gövdesi hatalı |
insufficient_credit / rejected | 422 — bakiye yetersiz ya da hesap limiti aşıldı |
rate_limited | 429 — hız sınırı; Retry-After başlığındaki saniye kadar bekleyin |