DNS бүсийг үүсгэж, тэднийг удирдана. Зоныг ns1. vps.org, ns2. vps.org болон ns3. vps.org-ээр хангана.
Зоосон нь нэг домен дээрх бичлэгүүдийг агуулдаг. API- ээр хийсэн бүх өөрчлөлтүүд нь VPS.org нэр сервер рүү шууд шилждэг. Эдгээр бүсээс домен руу үйлчилгээ үзүүлэхийн тулд бүртгэлийн нэр серверийг ns1. vps.org, ns2. vps.org болон ns3. vps.org болгон тохируулна.
Өөрчлөлтүүдийг нэг алхам дээр хадгалж, нийтлүүлнэ. Хэрэв нэрийн серверүүд өөрчлөлтийг зөвшөөрөхгүй бол 502 гэсэн хариу өгнө. Хэзээ ч хадгалагдахгүй. Доменыг өөр хэрэглэгчийн удирддаг, өөр хэрэглэгчийн зонд хамаарах, эсвэл VPS.org-ийн хадгалагдсан нэртэй доменд бүсийг үүсгэх боломжгүй.
Зөвшөөрөл шаардагдана:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Таны бүсүүдийг хамгийн сүүлийн нь эхлэн, 25 хуудас бүрээр нь буцаана. Бүртгэлтэй зүйлс энд багтахгүй. Тэдгээрийг авахын тулд нэг бүсийг авчирна.
| Параметр | Төрөл | Шаардлагатай | Тодорхойлолт |
|---|---|---|---|
domain |
string | Үгүй | Зөвхөн энэ домен нэртэй бүсийг л буцаана |
page |
integer | Үгүй | Хуудасны дугаар, 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
}
]
}
| Газар | Төрөл | Тодорхойлолт |
|---|---|---|
uuid |
string | Зоны тодорхойлогч |
domain |
string | Домен нэр, жижиг үсгээр хадгална |
created_at |
datetime | Бүтээх цаг (ISO 8601, UTC) |
record_count |
integer | Зоны бичлэгийн тоо, гурван NS бичлэгийг багтаасан |
| 200 | Сайн байна |
| 403 | API-ийн түлхүүр алга, эсвэл хүчингүй, эсвэл түлхүүр нь шаардлагатай эрхийг агуулаагүй |
Зоныг үүсгэж нийтлүүлнэ. Зооныг ns1, ns2, ns3. vps.org- ийн3NS бичлэгээс эхэлнэ. Энэ нь системийн бичлэг бөгөөд засварлах, устгах боломжгүй.
| Параметр | Төрөл | Шаардлагатай | Тодорхойлолт |
|---|---|---|---|
domain |
string | Тийм | Домен нэр, жишээ нь example. 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 | Зоосон бүсийг үүсгэх |
| 400 | Домен нэр байхгүй эсвэл буруу |
Бүх бичлэгүүдийг агуулсан нэг бүсийг буцаана. Хариулт нь дээрх үүсгэх хариулттай ижил хэлбэртэй.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Сайн байна |
| 404 | Олдоогүй эсвэл өөр дансанд хамаарна |
Бүх гурван нэр серверээс бүсийг устгаж, одоогоор ямар ч нэр сервер нь үүнийг ашиглаж байгаа эсэхийг шалгаад бүс болон түүний бичлэгүүдийг устгана. Хэрэв нэр сервер нь бүсийн талаар хариу өгвөл хүсэлт бүтэлгүйтэж, бүсийг дахин оролдох боломжгүй болгохын тулд хадгална.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Хоосон. Хариулт нь биегүй. |
| 400 | Товчхондоо, нэрийн сервер нь бүсэд үйлчилж байна. Зоныг устгасангүй. Товчхондоо, алдаанууд жагсаагдсан. |
| 404 | Олдоогүй эсвэл өөр дансанд хамаарна |
GET нь бүсийн бүх бичлэгийг төрөл болон нэрээр нь ангилсан энгийн түүвэр (хуудсан дээр байрлуулсан биш) болгон буцаана. POST нь бүсэд бичлэг нэмж нийтэлж байна.
| Параметр | Төрөл | Шаардлагатай | Тодорхойлолт |
|---|---|---|---|
record_type |
string | Тийм | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Тийм | @ - домен, эсвэл www гэх мэт тэмдэгтүүд. Тодорхойлолтууд нь жижиг үсгээр хадгалагдана. |
value |
string | Тийм | Бүртгэлтэй холбоотой мэдээлэл, жишээ нь IP хаяг эсвэл хостын нэр. Хостын нэрүүд төгсгөлийн цэг, TXT утга нь ишлэл шаарддаггүй. Бүртгэлээ нийтлэхэд эдгээр нь нэмэгдэнэ. |
ttl |
integer | Тийм | Хоёр дахь өдрийн өдрийн тоо |
priority |
integer | Зөвхөн MX ба SRV | MX болон SRV бичлэгүүдэд шаардлагатай, бусад төрлийн бичлэгүүдэд үл тоомсорлодог. SRV- ийн хувьд үнэлгээний хувьд жин, порт, зорилт гэсэн утга оруулна. |
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"
}
| Газар | Төрөл | Тодорхойлолт |
|---|---|---|
uuid |
string | /api/v1/dns-records/ төгсгөлийн цэгүүдийн ашигладаг бичлэгийн илэрхийлэгч |
priority |
integer | null | MX болон SRV бичлэгүүдийн тэргүүлэх зэрэглэл, эс бөгөөс нууц үг |
created_at |
date | Бүтээсэн огноо (Y- MM- DD) ганцаараа, цаггүй |
| 200 | GET: бүсийн тэмдэглэл |
| 201 | POST: бичлэгийг бүтээсэн |
| 400 | Шалгах алдаа, жишээ нь үл мэдэгдэх бичлэгийн төрөл, алга болсон ttl, эсвэл MX эсвэл SRV бичлэгийн тэргүүлэх зэрэглэлгүй |
| 404 | Олдоогүй эсвэл өөр дансанд хамаарна |
Зоныг бүх бичлэгүүдтэй нь нэрийн серверт дахин илгээх. Бичлэгийн өөрчлөлтүүд автоматаар нийтлэгддэг, гэхдээ нийтлэх нь хамгийн сайн арга бөгөөд алдаа нь анхны хүсэлтийг алдагдуулахгүй, тиймээс өөрчлөлт DNS хайлтанд харагдахгүй бол энэ сонголтыг ашиглана. Холбоо барих бие шаардагдахгүй.
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 нь бүх бүсийн бичлэгүүдийг домен, төрөл, нэрээр нь жагсаан хуудасны нэг бүрт 25-ыг нь буцаана. POST нь бүсийн бичлэгийн төгсгөлийн цэгийн адил бичлэгийг бүтээнэ, гэхдээ бүсийн биеийг zone_ uuid болгоно.
| Параметр | Төрөл | Шаардлагатай | Тодорхойлолт |
|---|---|---|---|
zone |
string | Үгүй | Энэ uuid-тэй бүсийн зөвхөн бичлэгүүд |
record_type |
string | Үгүй | Энэ төрлийн бичлэгүүд л, жишээ нь MX (үндсэн үсэг ялгаагүй) |
page |
integer | Үгүй | Хуудасны дугаар, 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: амжилт |
| 201 | POST: бичлэгийг бүтээсэн |
| 400 | Шалгах алдаа, эсвэл zone_ uuid алга эсвэл таны бүсийн нэг биш |
GET нэг бичлэгийг буцаана. PUT нь түүнийг орлуулж, record_ type, name, value, ttl шаардана. PATCH нь зөвхөн таны илгээсэн талбаруудыг өөрчилнө. DELETE нь бичлэгийг устгаж, биегүй 204-ийг буцаана. Өөрчлөлтүүд шууд нийтлэгддэг. Зоны NS бичлэгүүд системийн бичлэгүүд юм: шинэчлэх эсвэл устгах нь 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 эсвэл PATCH: бичлэг |
| 204 | Хоосон. Хариулт нь биегүй. |
| 400 | Шалтгаан |
| 403 | Бүртгэлтэй системийн бичлэг эсвэл тэмдэгт нь шаардлагатай эрхгүй байна |
| 404 | Олдоогүй эсвэл өөр дансанд хамаарна |
Шалгах алдаа 400- ийг буцааж өгнө. Энэ нь талбарын нэрээр тодорхойлогдсон асуудал юм:
{
"priority": ["MX records require a priority value"]
}
Зүгээр л зVPS.org нэрийн серверээс шууд асууж, таны бүртгэлийн үүрэгт эсвэл шийдлийн кэшүүд гүйцэж түрүүлэхээс өмнө өөрчлөлтийг баталгаажуулах:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com