VPS.org API

REST API belgelendirmesi

Alan adı API

Varolan alan adları için ara, alan adlarını kaydet ve yenile, isim sunucularını ve otomatik yenilemeyi yönet. Alan adları uuid'leri ile tanımlanır.

Uç noktalar 7
Temel Yol /api/v1/domains
ELDE ETMEK /api/v1/domains/

Tüm Alan Adlarını Listele

Hesabınıza kayıtlı alan adlarını, sayfa başına 25 olarak geri döndürür. Listede filtre yoktur.

İzin gerekiyor: domains:list

Örnek Talep

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/domains/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/domains/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for domain in response.json()["results"]:
    print(domain["domain_name"], domain["status"], domain["expiration_date"])
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

Örnek Yanıt

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
      "domain_name": "example.com",
      "status": "active",
      "registrar": "dynadot",
      "registration_date": "2026-01-15T10:30:00Z",
      "expiration_date": "2027-01-15T10:30:00Z",
      "days_until_expiration": 122,
      "is_expired": false,
      "needs_renewal_soon": false,
      "auto_renew": true,
      "renewal_period_years": 1,
      "registration_price": "12.64",
      "renewal_price": "12.64",
      "whois_privacy": true,
      "nameserver1": "ns1.vps.org",
      "nameserver2": "ns2.vps.org",
      "nameserver3": "ns3.vps.org",
      "nameserver4": null,
      "transfer_lock": true,
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-09-01T08:12:40Z"
    }
  ]
}

Yanıt Alanları

Alan Tip Açıklama
uuid string Diğer alan adları son noktalarında kullanılan alan adları tanımlayıcısı
status string active, pending, expired, cancelled, transferred
registrar string Domainin sahip olduğu kayıtcı
registration_date, expiration_date datetime Alan adı ne zaman kaydedildi ve ne zaman sona erer. expiration_date null olabilir.
days_until_expiration integer | null bitiş_tarihine kadar kalan gün sayısı, bitiş tarihinde negatif
is_expired, needs_renewal_soon boolean Alan adı süresi dolmuş olup olmadığı ve önümüzdeki 30 gün içinde sona erip ermediği
auto_renew, renewal_period_years boolean, integer Alan adının otomatik olarak yenilenip yenilenmediğini ve kaç yıl için yenilendiğini
registration_price, renewal_price string USD'de fiyatlar ondalık diziler olarak
whois_privacy, transfer_lock boolean WHOIS gizliliği ve kayıtlı transfer kilit ayarları
nameserver1 to nameserver4 string | null Alan adı sunucuları
created_at, updated_at datetime Kayıt ne zaman oluşturuldu ve son değişti (ISO 8601, UTC)
ELDE ETMEK /api/v1/domains/{uuid}/

Alan Adı Ayrıntılarını Al

Yukarıdaki alanlarla bir alan nesnesi geri döndürür.

İzin gerekiyor: domains:list

curl -X GET "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Yanıt Durum Kodları

200 Başarı
404 Bulunamadı veya başka bir hesaba aittir
POST /api/v1/domains/search/

Alan Adı Ulaşılabilirliğini Ara

Bir ad, yaklaşık 20 popüler uzantıda (com, net, org, io, dev, co, app, ai ve daha fazlası) mevcut olup olmadığını kontrol eder, ayrıca aralarında bulunmadığı takdirde yazdığınız uzantıyı da. Sonuçlar tam eşleşenlerle başlar, sonra mevcut isimler, sonra kullanılanlar.

İzin gerekiyor: domains:search

İstek Gövdesi Parametreleri

Parametreler Tip Gerekli Açıklama
domain string Evet Uzantı ile veya uzatma olmadan bir isim, örneğin mysite veya mysite.com (2 ile 63 karakter)

Örnek Talep

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/domains/search/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.com"}'
import requests

url = "https://admin.vps.org/api/v1/domains/search/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"domain": "mysite.com"})
for result in response.json()["results"]:
    if result["available"]:
        print(result["domain"], result["registration_price"], result["renewal_price"])

Örnek Yanıt

{
  "results": [
    {
      "domain": "mysite.com",
      "available": false,
      "price": null,
      "registration_price": null,
      "renewal_price": null,
      "tld": "com",
      "is_exact_match": true
    },
    {
      "domain": "mysite.dev",
      "available": true,
      "price": 17.24,
      "registration_price": 17.24,
      "renewal_price": 17.24,
      "tld": "dev",
      "is_exact_match": false
    }
  ],
  "base_domain": "mysite",
  "search_count": 20
}

Fiyatlar bir yıl için USD cinsinden rakamlardır ve mevcut olmayan isimler için sıfırdır. Gösterilen fiyatlar örnek olarak kullanılır.

Yanıt Durum Kodları

200 Başarı
400 Eksik alan adı, ya da harf, rakam ve bağıntı dışında karakter içeriyor
500 Kayıtcı arama başarısız oldu. Daha sonra tekrar deneyin.
POST /api/v1/domains/register/

Yeni Alan Adı Kaydet

Bir alan adı kayıt eder ve kaydedilmiş ödeme yönteminizi tahsil eder. Ulaşılabilirlik ve fiyat, tahsilden hemen önce kayıt şirketiyle tekrar kontrol edilir. Kayıt sahibinin iletişim bilgileri hesabınızdan alınır. Eğer kayıt şirketi tahsilden sonra kayıt işlemini reddediyorsa, ödeme geri ödenir.

İzin gerekiyor: domains:register (alanı tarafından verilen: *)

İstek Gövdesi Parametreleri

Parametreler Tip Gerekli Açıklama
domain string Evet Uzantı dahil tüm alan adı, örneğin example.com
years integer Hayır. Kayıt dönemi, 1'den 10'a (varsayılan 1). Fiyatı yıllık fiyat çarpımıdır..ai en az 2 yıl gerektirir; daha küçük bir değer 400'ü geri verir.
curl -X POST "https://admin.vps.org/api/v1/domains/register/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.dev", "years": 1}'

Örnek Yanıt

{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "domain_name": "mysite.dev",
  "message": "mysite.dev registered successfully!"
}

Yanıt Durum Kodları

201 Alan adı kayıtlı
400 Geçersiz alan adı, alan adı artık mevcut değil, fiyat doğrulanamadı, eski ödeme yöntemi, veya ödeme başarısız oldu
402 Dosyada ödeme yöntemi yok, ya da ödenmemiş faturalar
500 Ödeme işleme alınamadı, ya da kayıtcı ödemeden sonra kayıt işlemini reddetmiştir. İkinci durumda hata mesajı geri ödemenin gerçekleşip gerçekleşmediğini belirtir.
POST /api/v1/domains/{uuid}/renew/

Alan Adı Yenile

Alan adını yeniler ve her yıl için yenileme_fiyatı'nı kaydettiğiniz ödeme yöntemine yükler.

İzin gerekiyor: domains:renew

İstek Gövdesi Parametreleri

Parametreler Tip Gerekli Açıklama
years integer Hayır. Katlamalı yıl, 1'den 10'a (varsayılan 1)
curl -X POST "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"years": 1}'
{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "new_expiration": "2028-01-15T10:30:00+00:00",
  "message": "example.com renewed successfully for 1 year(s)!"
}

Yanıt Durum Kodları

200 Alan adı yenilendi
400 Geçersiz yıllar, alan adı için yenileme fiyatı yok, kullanılabilir ödeme yöntemi yok veya ödeme başarısız oldu
404 Bulunamadı veya başka bir hesaba aittir
500 Ödeme işleme alınamadı, ya da ödeme yapıldı ama kayıtcı yenilemeyi başarısız etti. Bu durumda destekle iletişime geçin.
PUT /api/v1/domains/{uuid}/nameservers/

Ad Sunucularını Güncelle

Alan adı sunucularını kayıtcıya ayarlar ve güncellenmiş alan adı nesnesi geri verir. DNS API ile DNS'yi yönetmek için, ns1.vps.org, ns2.vps.org ve ns3.vps.org kullanın ve alan için bir bölge oluşturun.

İzin gerekiyor: domains:update

İstek Gövdesi Parametreleri

Parametreler Tip Gerekli Açıklama
nameserver1 string Evet Ana isim sunucusu
nameserver2, nameserver3, nameserver4 string Hayır. Ek isim sunucusu konutları
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/nameservers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nameserver1": "ns1.vps.org", "nameserver2": "ns2.vps.org", "nameserver3": "ns3.vps.org"}'

Yanıt Durum Kodları

200 Ad sunucuları güncellendi; vücut alan nesnesi
400 ismi sunucu1 kayıp
404 Bulunamadı veya başka bir hesaba aittir
500 Güncelleme başarısız oldu; beyin hata ve mesaj alanlarına sahip
PUT /api/v1/domains/{uuid}/auto-renew/

Otomatik Yenileme'yi Etkinleştir veya Kapat

auto_renew'i ayarlar ve güncellenmiş alan nesnesi geri verir. JSON boolean olarak gönderme etkinleştirildi: boş olmayan herhangi bir dizi, false dizisi dahil, otomatik yenilemeyi etkinleştirir.

İzin gerekiyor: domains:update

curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/auto-renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

Yanıt Durum Kodları

200 Ayar kaydedildi; beyin alan nesnesi
400 etkinleştirilmiş kayıp
404 Bulunamadı veya başka bir hesaba aittir

Notlar