Тойм
DNS API нь DNS бүс болон бүртгэлийн бүрэн удирдлагыг олгодог. Бүх бүсүүд нь VPS.org-ийн нэрийн сервер дээр байрладаг бөгөөд автоматаар BIND9 бүсийн файл үүсгэж, байршуулдаг.
Тоон сервер
ns1.vps.org (38.248.6.195) - DNSSEC-ийн доторх гарын үсэгтэй үндсэн мастер
ns2.vps.org (38.248.6.196) - Хоёрдогч эзэн
ns3.vps.org (38.248.6.197) - Хоёрдогч эзэн
Түлхүүр шинж чанарууд
Автомат BIND9 бүсийн файл үүсгэх ба байрлуулах
TSIG аутентификаци (master- slave replication) ашиглан бүс нутгийг шилжүүлдэг
Бүх гол DNS бичлэгийн төрөл (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA) - ийг дэмжих
Домен нэрний шүүлтүүр ба UUID-ийн суурилсан бүсийн тодорхойлолт
Зоны онцлогтой бичлэгийн удирдлагын нийлмэл замууд
Баталгаажуулалт
Бүх DNS API хүсэлтүүд Bearer token аутентификаци шаардана. API token- ийг өөрийн дансны удирдлагын самбараас үүсгэх боломжтой. /account/developers/ Дараах эрхтэй:
dns:list - DNS бүсүүд болон бичлэгүүдийг харах
dns:create - Шинэ бүс, тэмдэглэл үүсгэх
dns:update - Одоо байгаа бүс, тэмдэглэлийг өөрчлөх
dns:delete - Зоныг устгах
dns:* - Бүх DNS менежментийн эрх
Жишээ
Authorization: Bearer vps_abc123def456...
чухал: API-ийн тэмдэгтүүд нь нэг удаа л харагдана. Тэднийг аюулгүй хадгал. Хэрэв та тэмдэгт алдвал шинээр үүсгэх хэрэгтэй.
Бүх DNS бүсүүдийг жагсаах
Идэвхжүүлсэн хэрэглэгчийн эзэмшдэг бүх DNS бүсүүдийн хуудасны жагсаалтыг авна. Домен нэрээр шүүх боломжийг олгоно.
Асуулгын параметрүүд
Параметр
Төрөл
Шаардлагатай
Тодорхойлолт
domain
string
Үгүй
Filter zones by exact domain name (e.g., example.com)
Жишээ хүсэлт
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-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)
print(response.json())
Нууц үг:
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});
const zones = await response.json();
console.log(zones);
Нууц үг:
Жишээ хариулт
[
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 12
},
{
"uuid": "xyz789-uvw456-rst123",
"domain": "myapp.io",
"created_at": "2024-06-20T14:15:00Z",
"record_count": 8
}
]
Хариултын талбарууд
Газар
Төрөл
Тодорхойлолт
uuid
string
Unique zone identifier (used in API requests)
domain
string
Domain name for this DNS zone
created_at
datetime
Zone creation timestamp (ISO 8601 format)
record_count
integer
Total number of DNS records in this zone
Хариу үйлдлийн төлөвийн кодууд
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
DNS бүсийн мэдээллийг авах
Бүх бичлэгийг багтаасан тодорхой DNS бүсийн дэлгэрэнгүй мэдээллийг авна.
Замын параметрүүд
Параметр
Төрөл
Шаардлагатай
Тодорхойлолт
uuid
string
Тийм
Unique zone identifier
Жишээ хариулт
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 5,
"records": [
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
}
Хариу үйлдлийн төлөвийн кодууд
200
Successfully retrieved zone details
404
Zone not found or not owned by user
DNS бүсийг бий болгох
Доменд шинэ DNS бүс үүсгэх. Энэ бүс нь VPS.org нэрийн серверт шууд хэрэгжинэ.
Хүсэлтийн биеийн параметрүүд
Параметр
Төрөл
Шаардлагатай
Тодорхойлолт
domain
string
Тийм
Domain name (e.g., 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": "newdomain.com"}'
Нууц үг:
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}
response = requests.post(url, headers=headers, json=data)
print(response.json())
Нууц үг:
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({domain: 'newdomain.com'})
});
const zone = await response.json();
console.log(zone);
Нууц үг:
Жишээ хариулт
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
Хариу үйлдлийн төлөвийн кодууд
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
DNS бүсийг устгах
DNS бүс болон түүний бүх холбогдох бичлэгүүдийг үүрд устга. Энэ үйлдлийг буцааж болохгүй.
Замын параметрүүд
Параметр
Төрөл
Шаардлагатай
Тодорхойлолт
uuid
string
Тийм
Unique zone identifier
Хариу үйлдлийн төлөвийн кодууд
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
Зоны DNS бичлэгүүдийн жагсаалт
Бүх DNS бичлэгийг тодорхой бүсэд (хуваагдсан зам) авах.
Замын параметрүүд
Параметр
Төрөл
Шаардлагатай
Тодорхойлолт
uuid
string
Тийм
Zone UUID
Жишээ хүсэлт
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Жишээ хариулт
[
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
Зонд дахь DNS бичлэгийг бий болгох
Шинэ DNS бичлэгийг тодорхой бүсэд (хүлээсэн зам) нэмнэ.
Хүсэлтийн биеийн параметрүүд
Параметр
Төрөл
Шаардлагатай
Тодорхойлолт
record_type
string
Тийм
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
Тийм
Record name (@ for root, subdomain, or FQDN)
value
string
Тийм
Record value (IP address, hostname, text)
ttl
integer
No
Time to live in seconds (default: 3600)
priority
integer
For MX/SRV
Priority (required for MX and SRV records)
Жишээ хүсэлт
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}'
Нууц үг:
import requests
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
Нууц үг:
Хариу үйлдлийн төлөвийн кодууд
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
DNS бүртгэлийг удирдах (тогтмол нэвтрэх)
Бүх CRUD үйлдлүүд нь UUID-ийг ашиглан DNS-ийн бичлэг дээр хийгддэг.
Байгаа үйлдлүүд
GET /api/v1/dns-records/{uuid}/ - Retrieve record details
PUT /api/v1/dns-records/{uuid}/ - Full update (all fields required)
PATCH /api/v1/dns-records/{uuid}/ - Partial update (only changed fields)
DELETE /api/v1/dns-records/{uuid}/ - Delete record
Асуултын параметрүүд (GET /api/v1/dns-records/)
Parameter
Төрөл
Тодорхойлолт
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
Жишээ: ТТЛ- ийг шинэчлэх
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 1800}'
Supported DNS Record Types
Төрөл
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
Үгүй
AAAA
Maps domain to IPv6 address
2001:0db8::1
Үгүй
CNAME
Creates alias to another domain
example.com
Үгүй
MX
Mail server for domain
mail.example.com
Тийм
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
Үгүй
NS
Nameserver delegation
ns1.example.com
Үгүй
SRV
Service location record
10 5060 sip.example.com
Тийм
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
Үгүй
Хамгийн сайн арга
TTL тохиргоо
Үйлдвэрлэл (стабиль): 3600- 86400 секунд (1- 24 цаг)
Хөдлөхөөс өмнө: 300- 600 секунд (5- 10 минут) - төлөвлөгөөт өөрчлөлтөөс өмнө TTL- ийг багасгах
Хөгжүүлэлт: 300- 1800 секунд (5- 30 минут) хурдан туршилт
Жижиглэх
Үндсэн домен (@): CNAME биш A/ AAAA бичлэгүүдийг ашиглах
www домен: CNAME- ийг үндэс эсвэл тусгаарласан A бичлэгт заах боломжтой
Эл. шуудан (MX): Аль хэдийнэ тэргүүлэх, бага тоо = өндөр тэргүүлэх
CNAME: Өөрийн нэртэй бусад бичлэгийн төрөлтэй хамт орших боломжгүй
Аюулгүй байдал
CAA тэмдэглэл: Ямар CA- ууд гэрчилгээг гаргахыг заана
SPF/DKIM/DMARC: Эл. шуудангаар баталгаажуулалтыг тохируулах
Жил бүрийн аудит: DNS бүртгэлийг улирал бүр шалгаж, ашиглагдаагүйг нь устга
Бурууг засах
Тодорхойгүй алдаа
Статусын код
Шалгуур
Үйлдэл
400
Домен нэр
Домен DNS нэр томъёог дагах эсэхийг шалгах
400
MX бичлэгийн өмнөх
Дараах priority MX ба SRV бичлэгийн талбар
401
Санамсаргүй API токен
Токен шалгах хэлбэр (эсвэл vps_)
403
Хуулийн зөвшөөрөл байхгүй
Шинэ түлхүүр үүсгэх dns:* эрхүүд
404
Зоосон/хувь олдоогүй
UUID- ийг шалгаж, нөөц таны дансанд хамаарах эсэхийг шалгана уу
Жишээ алдааны хариу
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
DNS өөрчлөлтүүдийг шалгаж байна
Бүртгэлээ нягтлах
# Query A record
dig example.com A
# Query specific nameserver
dig @ns1.vps.org example.com
# Query MX records
dig example.com MX
# Check all records
dig example.com ANY
Онлайн хэрэгслүүдийг ашиглах
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing