VPS.org API

Dokumentasi API REST

API Domain

Cari nama domain yang tersedia, daftar dan domain terbarukan, dan atur server nama mereka dan auto-renegal. Domain diidentifikasi oleh uuid mereka.

Titik akhir 7
Jalur Dasar /api/v1/domains
MENDAPATKAN /api/v1/domains/

Daftar Semua Domain

Mengembalikan domain yang terdaftar di akun Anda, 25 per halaman. Daftar ini tidak memiliki filter.

Perlu izin: domains:list

Contoh Permintaan

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);

Contoh Jawaban

{
  "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"
    }
  ]
}

Kolom Respons

Ruas Jenis Deskripsi
uuid string Identifier Domain yang dipakai di titik-titik akhir domain lain
status string active, pending, expired, cancelled, transferred
registrar string Registrator domain ditahan di
registration_date, expiration_date datetime Ketika domain terdaftar dan ketika berakhir. kedaluwarsa dapat dibatalkan.
days_until_expiration integer | null Seluruh hari sampai kadaluarsa, negatif sekali berakhir
is_expired, needs_renewal_soon boolean Apakah domain telah berakhir, dan apakah itu berakhir dalam 30 hari ke depan
auto_renew, renewal_period_years boolean, integer Apakah domain secara otomatis diperbarui, dan untuk berapa tahun
registration_price, renewal_price string Harga dalam USD sebagai string desimal
whois_privacy, transfer_lock boolean Rahasia WHOIS dan pengaturan kunci transfer registrar
nameserver1 to nameserver4 string | null Server-nama domain
created_at, updated_at datetime Ketika rekor dibuat dan terakhir berubah (ISO 8601, UTC)
MENDAPATKAN /api/v1/domains/{uuid}/

Dapatkan Rincian Domain

Mengembalikan satu objek domain dengan bidang di atas.

Perlu izin: domains:list

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

Kode Status Respons

200 Berhasil
404 Tidak ditemukan, atau milik akun lain
POST /api/v1/domains/search/

Ketersediaan Domain Pencarian

Periksa apakah sebuah nama tersedia di seluruh sekitar 20 ekstensi populer (com, net, org, io, dev, co, app, ai dan lebih), ditambah ekstensi yang Anda ketik jika tidak termasuk di antara mereka. Hasil dimulai dengan kecocokan yang tepat, kemudian nama yang tersedia, kemudian diambil.

Perlu izin: domains:search

Parameter Badan Permintaan

Parameter Jenis Diperlukan Deskripsi
domain string Ya Nama dengan atau tanpa ekstensi, misalnya situs saya atau situs saya.com (2 sampai 63 karakter)

Contoh Permintaan

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"])

Contoh Jawaban

{
  "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
}

Harga adalah angka di USD selama satu tahun dan tidak tersedia untuk nama yang tidak tersedia. Harga yang ditunjukkan adalah illustratif.

Kode Status Respons

200 Berhasil
400 domain yang hilang, atau mengandung karakter selain huruf, digit, dan tanda hubung
500 Pencarian registrar gagal. Coba lagi nanti.
POST /api/v1/domains/register/

Daftarkan Domain Baru

Register domain dan biaya metode pembayaran yang disimpan. Ketersediaan dan harga diperiksa dengan registrar lagi sebelum muatan. Rincian kontak registrant diambil dari profil akun Anda. Jika registrar menolak pendaftaran setelah pengisian, pembayaran dikembalikan.

Perlu izin: domains:register (Diban oleh domain:*)

Parameter Badan Permintaan

Parameter Jenis Diperlukan Deskripsi
domain string Ya Nama domain lengkap termasuk ekstensinya, misalnya.com
years integer Tidak Periode pendaftaran, 1 sampai 10 (default 1). Harganya adalah tahun per tahun..ai membutuhkan setidaknya 2 tahun; nilai yang lebih kecil kembali 400.
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}'

Contoh Jawaban

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

Kode Status Respons

201 Domain terdaftar
400 Domain, domain tidak lagi tersedia, harga tidak dapat diverifikasi, metode pembayaran usang, atau pembayaran gagal
402 Tidak ada metode pembayaran pada berkas, atau faktur yang belum dibayar
500 Pembayaran tidak dapat diproses, atau registrar menolak pendaftaran setelah pembayaran. Dalam kasus kedua pesan kesalahan mengatakan apakah pengembalian dana itu akan dilakukan.
POST /api/v1/domains/{uuid}/renew/

Buat Lagi Domain

Kabarkan lagi domainnya dan biayai biaya pembaruannya untuk setiap tahun untuk metode pembayaran yang tersimpan.

Perlu izin: domains:renew

Parameter Badan Permintaan

Parameter Jenis Diperlukan Deskripsi
years integer Tidak Tahun untuk menambahkan, 1 sampai 10 (baku 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)!"
}

Kode Status Respons

200 Domain diperbarui
400 Tahun tak valid, tak ada harga pembaruan bagi domain, tak ada metode pembayaran yang dapat digunakan, atau pembayaran gagal
404 Tidak ditemukan, atau milik akun lain
500 Pembayaran tidak dapat diproses, atau pembayarannya telah dilakukan tapi pembaharuan registrar gagal. Dukungan kontak dalam kasus ini.
PUT /api/v1/domains/{uuid}/nameservers/

Mutakhirkan Server Nama

Mengatur nameserver domain di registrar dan mengembalikan objek domain yang telah diperbarui. Untuk mengelola DNS dengan DNS API, gunakan ns1.vps.org, ns2.vps.org dan ns3.vps.org, lalu buat zona untuk domain tersebut.

Perlu izin: domains:update

Parameter Badan Permintaan

Parameter Jenis Diperlukan Deskripsi
nameserver1 string Ya Nama host server nameserver primer
nameserver2, nameserver3, nameserver4 string Tidak Nama host server nameserver tambahan
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"}'

Kode Status Respons

200 Namesserver diperbarui; tubuh adalah objek domain
400 nameserver1 hilang
404 Tidak ditemukan, atau milik akun lain
500 Pemutakhiran gagal; tubuh memiliki kesalahan dan ruas pesan
PUT /api/v1/domains/{uuid}/auto-renew/

Aktifkan Otomatis-Renedatif Pada atau Mati

Atur auto_renew dan kembalikan objek domain yang diperbarui. Kirim sebagai boolean JSON: string yang tidak kosong, termasuk string yang palsu, nyalakan auto-renegal.

Perlu izin: 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}'

Kode Status Respons

200 Pengaturan disimpan; tubuh adalah objek domain
400 diaktifkan hilang
404 Tidak ditemukan, atau milik akun lain

Catatan