Barındırma API'siYapılandırıcının yaptığı her şey, HTTP üzerinden.

Seçtiğiniz kapsamlara sahip taşıyıcı token’lar, her yazma işleminde idempotens, imleç tabanlı sayfalama ve hiçbir anahtar gerektirmeyen bir durum uç noktası — çünkü onu sorgulamaya en çok ihtiyaç duyduğunuz an, hesabınızın bizzat bozuk olan şey olabileceği andır.

uç noktalar13

Hızlı Başlangıç

SDK gerekmez · Sürüm sürprizi yok · Karşılaşacağınız bir hız sınırı yok

Hızlı Başlangıç

Sıfırdan bir sunucu, iki çağrıyla.

Müşteri panelinde bir anahtar oluşturun, kapsamlarını seçin; anahtar yalnızca bir kez gösterilir. Bu hesapta bir ana anahtar bulunmaz ve sonradan bir anahtarın kapsamını genişletmenin bir yolu yoktur — bunun yerine yenisini oluşturun.

1 — neler satın alabileceğinize bakın

curl -s https://api.dediprivacy.com/v1/plans?family=vps \
  -H "Authorization: Bearer $DP_KEY"

2 — devreye alın

curl -s -X POST https://api.dediprivacy.com/v1/servers \
  -H "Authorization: Bearer $DP_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
        "plan":   "vps-4",
        "region": "ams",
        "image":  "debian-13",
        "cycle":  "12"
      }'

Sağlama işlemi hesap bakiyesinden düşülür. Bakiyeyi eksiye düşürecek bir çağrı şu hatayla başarısız olur: 402 ve yarım bir makine kurmak yerine tam eksikliği — temizlenecek kısmen hazırlanmış bir durum yoktur, ve sonradan gelen bir fatura yoktur.

Kurallar

Her çağrıda aynı olan kısımlar, bir kez karara bağlanır ki bir daha aramanız gerekmesin.

Taban URL
https://api.dediprivacy.com/v1 Sadece TLS, HTTP/2 ve yönlendirme yapılacak şifresiz bir bağlantı noktası yok. Düz metin bir istek yükseltilmek yerine reddedilir, çünkü yükseltme, isteğin ağı bir kez zaten geçtiği anlamına gelir.
Kimlik doğrulama
Anahtar başına bearer token Anahtarlar müşteri panelinde, seçtiğiniz kapsamlarla oluşturulur, yalnızca bir kez gösterilir ve hash'lenmiş olarak saklanır. Bu API'de ana anahtar ve parola tabanlı kimlik doğrulama yoktur.
İçerik türü
application/json İstekler ve yanıtlar üzerinde. Zamanlar UTC cinsinden RFC 3339 biçimindedir, para birimi sent cinsinden tam sayıdır ve hiçbir yerde bölgeye bağlı biçim yoktur.
Idempotency
Her POST isteğinde Idempotency-Key Tekrarlanan bir anahtar, iki kez kurulum yapmak yerine orijinal yanıtı döndürür. Anahtarlar 24 saat boyunca hatırlanır; bu, herhangi bir yeniden deneme döngüsünün çalışması gerekenden daha uzundur.
Hız sınırı
dakikada 600 istek Anahtar başına, X-RateLimit-Remaining içinde döndürülür. Provisioning çağrıları ayrı olarak saatte 60 ile sınırlıdır; bu gerçekten önünüze çıkıyorsa bize sorun.
Sayfalama
Sayfa numarası değil, imleç Her liste yanıtında bir next_cursor bulunur. Offset sayfalama, alttaki veri kümesi değiştiğinde satırları sessizce atlar ve bu hatayı size taşımak istemeyiz.

Tanımlayıcılar

Genel fiyat listeleri ve yapılandırıcının dayandığı aynı katalogdan okunur. Ağa eklenen bir bölge, kimse bu sayfayı düzenlemeden burada görünür.

bölge

  • kefReykjavík
  • otpBucharest
  • sofSofia
  • kivChișinău
  • zrhZurich
  • amsAmsterdam
  • ptyPanama City
  • sinSingapore

aile

  • vpsCloud VPS
  • rdpWindows RDP
  • adanmışDedicated Sunucular
  • gpuGPU Hesaplama
  • private-cloudÖzel Bulut
  • web-hostingWeb Barındırma
  • depolamaNesne ve Blok Depolama
  • colocationColocation
  • özelÖzel yapılandırma

döngü

  • 11 ay
  • 33 ays, −5 %
  • 1212 ays, −20 %
  • 2424 ays, −35 %

Uç Noktalar

Katalog

Sipariş edilebilecek her şey, canlı fiyatlandırmayla birlikte. Kimlik doğrulama gerekmez — bunlar herkese açık fiyat listelerinin oluşturulduğu aynı rakamlardır.

GET /regions Bölgeleri listele

Tanımlayıcısı, şehri, ülkesi ve mevcut işletim durumuyla her bölge.

Yanıt

{
  "data": [
    { "id": "ams", "city": "Amsterdam", "country": "Netherlands",
      "status": "operational", "uplink_gbit": 600 }
  ]
}
GET /plans Planları listele

?family=vps ile aileye göre filtreleyin. Fiyatlar, herhangi bir döngü indirimi öncesinde, sent cinsinden aylıktır.

Yanıt

{
  "data": [
    { "id": "vps-4", "family": "vps", "cores": 4, "ram_gb": 8,
      "disk_gb": 160, "price_cents": 1100, "regions": ["ams","kef"] }
  ],
  "next_cursor": null
}
GET /images İmajları listele

Her birinin lisans durumuyla birlikte bir aile için sunulan işletim sistemi imajları.

Yanıt

{
  "data": [
    { "id": "debian-13", "name": "Debian 13", "licence": "included" },
    { "id": "win-2025", "name": "Windows Server 2025", "licence": "included" }
  ]
}

Uç Noktalar

Sunucular

Makineler oluşturun, inceleyin ve kontrol edin. Provizyon işlemi hesap bakiyesinden düşülür; bakiyeyi eksiye düşürecek bir talep, yarım kalmış bir şey inşa etmek yerine 402 hatası ve tam eksik miktarıyla başarısız olur.

POST /servers Bir sunucu dağıtın

"provisioning" durumuyla hemen döner. Kaynağı yoklayın ya da bir webhook kullanın.

Talep

{
  "plan": "vps-4",
  "region": "ams",
  "image": "debian-13",
  "cycle": "12",
  "label": "edge-01",
  "ssh_keys": ["ssh-ed25519 AAAA..."]
}

Yanıt

{
  "id": "srv_8Kq2",
  "status": "provisioning",
  "region": "ams",
  "ipv4": null,
  "charged_cents": 10560,
  "renews_at": "2027-07-28T00:00:00Z"
}
GET /servers Sunucuları listele

Hesaptaki her şey, en yeniden başlayarak.

Yanıt

{
  "data": [
    { "id": "srv_8Kq2", "label": "edge-01", "status": "active",
      "region": "ams", "ipv4": "203.0.113.10",
      "ipv6": "2001:db8:1234:5678::2" }
  ],
  "next_cursor": null
}
GET /servers/{id} Bir sunucuyu alın

Teknik özellikler, adresler ve bir sonraki yenileme dahil tam ayrıntı.

Yanıt

{
  "id": "srv_8Kq2",
  "status": "active",
  "plan": "vps-4",
  "image": "debian-13",
  "cycle": "12",
  "renews_at": "2027-07-28T00:00:00Z"
}
POST /servers/{id}/actions Bir sunucuda işlem yapın

Tek uç nokta, bir eylem alanı: reboot, shutdown, start, rebuild, resize, rdns.

Talep

{
  "action": "rebuild",
  "image": "ubuntu-26-04"
}

Yanıt

{
  "id": "act_3Xf9",
  "action": "rebuild",
  "status": "running"
}
DELETE /servers/{id} Bir sunucuyu iptal edin

Zaten ödenmiş dönemin sonuna kadar çalışmaya devam eder. Hemen silmek ve bugünden itibaren ödemeyi durdurmak için ?immediate=true parametresini geçin.

Yanıt

{
  "id": "srv_8Kq2",
  "status": "cancelled",
  "ends_at": "2027-07-28T00:00:00Z"
}

Uç Noktalar

Faturalama

Tek bir bakiye her şeyi finanse eder. Peşinden koşulacak bir şey olmadığı için fatura nesnesi yoktur — bir hizmet, yenilenme tarihinde bakiyeden düşülür.

GET /balance Bakiyeyi alın

Mevcut bakiye, yenilemelere ayrılan tutar ve bunun mevcut harcama hızında ne kadar süreceği.

Yanıt

{
  "balance_cents": 48250,
  "committed_cents": 12400,
  "runway_days": 117
}
POST /topups Bakiye yükleme başlatın

Seçilen varlık için bir ödeme adresi döndürür. Herhangi bir bonus, ödeme onaylandığı anda uygulanır.

Talep

{
  "amount_cents": 100000,
  "asset": "XMR"
}

Yanıt

{
  "id": "top_5Wc1",
  "asset": "XMR",
  "address": "4A...",
  "amount": "3.417",
  "bonus_cents": 30000,
  "expires_at": "2026-07-28T18:00:00Z"
}
GET /ledger Defter kayıtlarını listeleyin

İlgili olduğu hizmetle birlikte her alacak ve borç kaydı. Ödemeleriniz hakkında elimizde bulunan bilgilerin tamamı budur.

Yanıt

{
  "data": [
    { "at": "2026-07-28T16:04:00Z", "cents": -1100,
      "kind": "renewal", "ref": "srv_8Kq2" }
  ]
}

Uç Noktalar

Durum

Herkese açık ve kimlik doğrulaması gerektirmez; böylece anahtarınızı tutmayan bir sistem tarafından da sorgulanabilir — ve sorunlu olan tam olarak hesabınızsa bile yanıt vermeye devam eder.

GET /status Mevcut durum

Durum sayfasıyla aynı rakamlar, aynı olay kaydından hesaplanır.

Yanıt

{
  "state": "operational",
  "open_incidents": 0,
  "uptime_90d": 99.9971,
  "regions": { "ams": "operational", "kef": "operational" }
}
GET /incidents Olayları listele

Kaydın kendisi; bölgeye ve tarihe göre filtrelenebilir.

Yanıt

{
  "data": [
    { "id": "inc_71", "region": "otp", "severity": "partial",
      "started_at": "2026-06-07T02:14:00Z",
      "unreachable_seconds": 1080 }
  ]
}

Hatalar

Her arıza kararlı bir kod ve bir kişi için yazılmış bir mesaj. Kodla eşleştirin; mesajın geliştirilmesine izin verilir.

400 invalid_request Gövde ayrıştırılamadı ya da bir alan yanlış türde. Mesaj, alanı ismen belirtir.
401 kimliği doğrulanmamış Anahtar yok, hatalı biçimlendirilmiş bir anahtar ya da iptal edilmiş bir anahtar.
403 scope_missing Anahtar geçerli ancak bu çağrının ihtiyaç duyduğu kapsamla oluşturulmamış. Kapsamlar anahtar başına seçilir ve sonradan genişletilemez.
402 insufficient_funds Bakiye bunu karşılamaz. Yanıt, ikinci bir çağrı yapmadan işlem yapabilmeniz için required_cents ve balance_cents değerlerini içerir.
404 not_found Bu hesapta böyle bir kaynak yok. Başka birinin hesabındaki bir kaynağa verilen yanıtla kasıtlı olarak aynıdır.
409 çakışma Kaynak meşgul — genellikle o sunucuda zaten çalışan bir işlemdir.
422 kullanılamıyor Geçerli, ancak şu anda mümkün değil: plan o bölgede stokta yok veya imaj o aile için sunulmuyor.
429 rate_limited Retry-After başlığı ayarlanır ve sabit bir değer değil, gerçek süreyi gösterir.
5xx server_error Bize ait. Aynı Idempotency-Key ile yeniden denemek güvenlidir — zaten bunun için var.

A 404 başkasının hesabındaki bir kaynak için verilen yanıt, hiç var olmamış bir kaynak için verilen yanıtla bayt bayt aynıdır. Bu kasıtlıdır: ayırt edilebilir yanıtlar bir API’yi başkalarının altyapısını numaralandırmak için bir kehanet aracına dönüştürür.