API v2.0

API Dokümantasyonu

asilhost RESTful API ile hosting altyapınızı programatik olarak yönetin. Sunucu oluşturma, domain yönetimi, DNS ayarları ve daha fazlası için güçlü araçlar.

Hızlı Başlangıç

asilhost API'yi kullanmaya başlamak için temel bilgiler ve örnek istekler.

API'miz RESTful prensiplere uygun şekilde tasarlanmıştır. Tüm istekler HTTPS üzerinden yapılmalıdır. API base URL:

Base URL
https://api.asilhost.com/v2
Önemli Not: Tüm API istekleri JSON formatında kabul edilir ve döndürülür. Content-Type header'ını application/json olarak ayarladığınızdan emin olun.

İlk İsteğiniz

cURL
curl -X GET https://api.asilhost.com/v2/servers \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Kimlik Doğrulama

API isteklerinizi doğrulamak için Bearer Token kullanıyoruz.

API key'inizi panel üzerinden oluşturabilirsiniz. Her istekte Authorization header'ına API key'inizi ekleyin:

Örnek API Key
asilhost_live_sk_1a2b3c4d5e6f7g8h9i0j
JavaScript
const apiKey = 'asilhost_live_sk_1a2b3c4d5e6f7g8h9i0j';

fetch('https://api.asilhost.com/v2/servers', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json'
  }
})
.then(response => response.json())
.then(data => console.log(data));
Güvenlik Uyarısı: API key'lerinizi asla public repository'lerde paylaşmayın. Environment variable olarak saklamanız önerilir.

Rate Limits

API kullanım limitleri ve kota bilgileri.

1000
İstek / Saat
10,000
İstek / Gün
100
Burst Limit

Rate limit bilgilerine response header'larından ulaşabilirsiniz:

HTTP Headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1640995200
429 Too Many Requests: Rate limit'i aştığınızda bu hata kodu döner. Retry-After header'ında belirtilen süre kadar bekleyin.

Endpoints

Mevcut tüm API endpoint'leri ve kullanım örnekleri.

Sunucu Yönetimi

GET /v2/servers

Hesabınızdaki tüm sunucuları listeler.

Query Parametreleri

Parametre Tip Açıklama
pageOpsiyonel integer Sayfa numarası (varsayılan: 1)
limitOpsiyonel integer Sayfa başına kayıt (varsayılan: 20, max: 100)
statusOpsiyonel string Durum filtresi: active, stopped, suspended

Örnek İstek

cURL
curl -X GET "https://api.asilhost.com/v2/servers?limit=10&status=active" \
  -H "Authorization: Bearer YOUR_API_KEY"

Yanıt

JSON
{
  "success": true,
  "data": [
    {
      "id": "srv_abc123",
      "name": "Web Server 01",
      "status": "active",
      "ip_address": "192.168.1.100",
      "package": "VPS-2",
      "cpu": "4 vCore",
      "ram": "8 GB",
      "disk": "160 GB SSD",
      "location": "Istanbul, Turkey",
      "created_at": "2026-01-15T10:30:00Z",
      "expires_at": "2027-01-15T10:30:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 5,
    "total_records": 47,
    "per_page": 10
  }
}
JSON
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid or missing API key"
  }
}
POST /v2/servers

Yeni bir sunucu oluşturur.

Body Parametreleri

Parametre Tip Açıklama
nameGerekli string Sunucu adı (3-50 karakter)
package_idGerekli string Paket ID (örn: vps-2, vps-4, dedicated-1)
locationGerekli string Lokasyon: istanbul, ankara, izmir
osGerekli string İşletim sistemi: ubuntu-22.04, centos-8, debian-11
ssh_key_idOpsiyonel string SSH key ID
cURL
curl -X POST https://api.asilhost.com/v2/servers \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Server",
    "package_id": "vps-4",
    "location": "istanbul",
    "os": "ubuntu-22.04"
  }'
GET /v2/servers/{server_id}

Belirli bir sunucunun detaylı bilgilerini getirir.

DELETE /v2/servers/{server_id}

Sunucuyu kalıcı olarak siler. Bu işlem geri alınamaz.

Dikkat: Sunucu silme işlemi geri alınamaz. Tüm veriler kalıcı olarak silinir.

Domain Yönetimi

GET /v2/domains

Hesabınızdaki tüm domainleri listeler.

POST /v2/domains

Yeni domain ekler veya transfer başlatır.

DNS Kayıtları

GET /v2/domains/{domain}/dns

Domain için tüm DNS kayıtlarını listeler.

POST /v2/domains/{domain}/dns

Yeni DNS kaydı oluşturur.

Body Parametreleri

Parametre Tip Açıklama
typeGerekli string Kayıt tipi: A, AAAA, CNAME, MX, TXT, NS
nameGerekli string Kayıt adı (subdomain veya @)
valueGerekli string Kayıt değeri (IP, domain, vb.)
ttlOpsiyonel integer TTL değeri saniye cinsinden (varsayılan: 3600)

SSL Sertifikaları

POST /v2/ssl/certificates

Domain için ücretsiz Let's Encrypt SSL sertifikası oluşturur.

Otomatik Yenileme: Let's Encrypt sertifikaları otomatik olarak 90 günde bir yenilenir.

Hata Kodları

API hata kodları ve anlamları.

Kod Durum Açıklama
200 OK İstek başarılı
201 Created Kaynak başarıyla oluşturuldu
400 Bad Request Geçersiz istek parametresi
401 Unauthorized Geçersiz veya eksik API key
403 Forbidden Bu işlem için yetkiniz yok
404 Not Found Kaynak bulunamadı
429 Too Many Requests Rate limit aşıldı
500 Internal Server Error Sunucu hatası

Hata Yanıt Formatı

JSON
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Geçersiz parametre değeri",
    "details": {
      "field": "package_id",
      "issue": "Belirtilen paket bulunamadı"
    }
  }
}