Buat zona DNS dan atur catatan mereka. Zona dilayani oleh ns1.vps.org, ns2.zx0xqz dan ns3.vps.org.
Sebuah zona menyimpan rekaman untuk satu domain. Setiap perubahan yang Anda buat melalui API langsung diteruskan ke nameserver VPS.org. Untuk melayani domain dari zona ini, atur nameserver-nya di registrar Anda ke ns1.vps.org, ns2.vps.org dan ns3.vps.org.
Perubahan disimpan dan diterbitkan dalam satu langkah: jika server nama menolak perubahan, permintaan mengembalikan 502 dan tidak ada yang disimpan. Zona tidak dapat dibuat untuk akun domain lain yang telah dikelola, induk atau anak dari zona akun lain, atau nama cadangan VPS.org.
Perlu izin:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Mengembalikan zona Anda, dari yang terbaru, 25 per halaman. Rekaman tidak disertakan di sini; ambil satu zona untuk mendapatkannya.
| Parameter | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
domain |
string | Tidak | Kembalikan hanya zona dengan nama domain ini |
page |
integer | Tidak | Halaman nomor, mulai dari 1 |
curl -X GET "https://admin.vps.org/api/v1/dns-zones/?domain=example.com" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers, params={"domain": "example.com"})
for zone in response.json()["results"]:
print(zone["uuid"], zone["domain"], zone["record_count"])
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/?domain=example.com', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const data = await response.json();
console.log(data.results);
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
"domain": "example.com",
"created_at": "2026-09-06T03:11:48.829693Z",
"record_count": 5
}
]
}
| Ruas | Jenis | Deskripsi |
|---|---|---|
uuid |
string | Pengenal Zona |
domain |
string | Nama domain, disimpan dalam huruf kecil |
created_at |
datetime | Waktu Penciptaan (ISO 8601, UTC) |
record_count |
integer | Jumlah catatan di zona, termasuk tiga catatan NS |
| 200 | Berhasil |
| 403 | Hilang atau token API tak valid, atau token kurang izin yang diperlukan |
Membuat zona dan mempublikasikannya. Zona ini dimulai dengan tiga catatan NS untuk ns1, ns2 dan ns3.vps.org, yang merupakan catatan sistem dan tidak dapat diedit atau dihapus.
| Parameter | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
domain |
string | Ya | Nama domain, misalnya.com |
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
{
"uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
"domain": "example.com",
"created_at": "2026-09-14T21:02:11.402113Z",
"records": [
{
"uuid": "1f2e3d4c-5b6a-4978-8a9b-0c1d2e3f4a5b",
"record_type": "NS",
"name": "@",
"value": "ns1.vps.org",
"ttl": 86400,
"priority": null,
"created_at": "2026-09-14"
},
...
],
"record_count": 3
}
| 201 | Zona dibuat |
| 400 | Nama domain yang hilang atau tidak valid |
Mengembalikan satu zona dengan semua catatan dalam array catatan. Responnya memiliki bentuk yang sama dengan respon yang dibuat di atas.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Berhasil |
| 404 | Tidak ditemukan, atau milik akun lain |
Hapus zona dari ketiga server nama, periksa bahwa tidak satupun dari mereka masih melayaninya, dan kemudian menghapus zona dan catatannya. Jika sebuah penampil masih menjawab untuk zona, permintaan gagal dan zona tersebut disimpan sehingga Anda dapat mencoba lagi.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Tak ada yang bisa di hapus. |
| 400 | Sebuah nameserver masih melayani zona. Zona tidak dihapus; bagian detail daftar kesalahan. |
| 404 | Tidak ditemukan, atau milik akun lain |
GET mengembalikan setiap catatan di zona sebagai sebuah array biasa (tidak tertata), diurutkan berdasarkan tipe dan nama. POST menambahkan catatan ke zona dan mempublikasikannya.
| Parameter | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
record_type |
string | Ya | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Ya | @ untuk domain itu sendiri, atau label seperti www. Nama disimpan dalam huruf kecil. |
value |
string | Ya | Data rekaman, misalnya alamat IP atau nama host. Nama host tidak perlu ada titik-titik tertinggal dan nilai-nilai TXT yang tidak perlu dikutip; keduanya ditambahkan ketika catatan diterbitkan. |
ttl |
integer | Ya | Waktu untuk hidup dalam detik |
priority |
integer | MX dan SRV saja | Diperlukan untuk catatan MX dan SRV dan diabaikan untuk setiap tipe lainnya. Untuk SRV, taruh berat, port dan target dalam nilai. |
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"record_type": "MX", "name": "@", "value": "mail.example.com", "ttl": 3600, "priority": 10}'
import requests
zone_uuid = "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c"
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {"record_type": "A", "name": "www", "value": "203.0.113.10", "ttl": 3600}
response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json())
{
"uuid": "9d430082-5562-42b4-a0b2-12a6f6c862f9",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2026-09-14"
}
| Ruas | Jenis | Deskripsi |
|---|---|---|
uuid |
string | Identifier rekaman, digunakan oleh /api/v1/dns-records/point |
priority |
integer | null | Prioritas untuk catatan MX dan SRV, jika tidak, kosong |
created_at |
date | Tanggal penciptaan (YYYM-DD), tanpa waktu |
| 200 | GET: catatan zona |
| 201 | POST: record dibuat |
| 400 | Galat validasi, misalnya tipe rekaman yang tidak diketahui, ttl yang hilang, atau rekor MX atau SRV tanpa prioritas |
| 404 | Tidak ditemukan, atau milik akun lain |
Mendorong zona dan semua catatannya ke server nama lagi. Perubahan rekaman diterbitkan secara otomatis, tapi penerbitan adalah upaya terbaik dan kegagalan tidak gagal permintaan asli, jadi gunakan ini ketika perubahan tidak muncul dalam pencarian DNS. Tidak ada permintaan badan dibutuhkan.
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/sync/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"detail": "Zone example.com synced to PowerDNS"
}
GET mengembalikan catatan semua zona Anda, 25 per halaman, diperintahkan oleh domain, tipe dan nama. POST menciptakan catatan seperti titik akhir catatan zona, tetapi mengambil zona di tubuh sebagai zone_uuid.
| Parameter | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
zone |
string | Tidak | Hanya catatan zona dengan uuid ini |
record_type |
string | Tidak | Hanya catatan jenis ini, misalnya MX (case sensensitive) |
page |
integer | Tidak | Halaman nomor, mulai dari 1 |
curl -X GET "https://admin.vps.org/api/v1/dns-records/?zone=c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c&record_type=A" \
-H "Authorization: Bearer YOUR_API_TOKEN"
curl -X POST "https://admin.vps.org/api/v1/dns-records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"zone_uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c", "record_type": "TXT", "name": "@", "value": "v=spf1 mx -all", "ttl": 3600}'
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f",
"record_type": "A",
"name": "www",
"value": "203.0.113.10",
"ttl": 3600,
"priority": null,
"created_at": "2026-09-14"
}
]
}
| 200 | GET: sukses |
| 201 | POST: record dibuat |
| 400 | Galat validasi, atau zone_uuid hilang atau bukan salah satu dari zona Anda |
GET kembali satu catatan. PUT mengganti itu dan membutuhkan record_type, nama, nilai, dan ttl. POC hanya perubahan bidang yang Anda kirim. DELETE menghapus catatan dan mengembalikan 204 tanpa tubuh. Perubahan diterbitkan langsung. Catatan NS yang dibuat dengan zona adalah catatan sistem: memperbarui atau menghapus mereka kembali 403.
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 300}'
| 200 | GET, PUT atau PATCH: catatan |
| 204 | Tak ada yang bisa di hapus. |
| 400 | Galat validasi |
| 403 | Catatan adalah catatan sistem, atau token tidak memiliki izin yang diperlukan |
| 404 | Tidak ditemukan, atau milik akun lain |
Galat validasi mengembalikan 400 dengan masalah yang diay Keyed oleh nama ruas:
{
"priority": ["MX records require a priority value"]
}
Kuiri nameserver VPS.org secara langsung untuk mengkonfirmasi perubahan hidup sebelum delegasi registrar atau resolver menangkap:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com