DNS zonaları yaradın və qeydlərini idarə edin. Zonalar ns1.vps.org, ns2.vps.org və ns3.vps.org tərəfindən xidmət edilir.
Bir zona bir domen üçün qeydləri saxlayır. API vasitəsilə etdiyiniz hər dəyişiklik VPS.org ad vericilərinə dərhal göndərilir. Bu zonalardan bir domena xidmət etmək üçün qeydiyyatçınızda ad vericilərini ns1.vps.org, ns2.vps.org və ns3.vps.org olaraq təyin edin.
Dəyişənlər bir addımla qeyd edilir və yayımlanır: əgər ad vericiləri dəyişikliyi rədd etsələr, tələb 502 geri qaytarır və heç nə qeyd edilmir. Bir domen üçün zona yaradıla bilməz. Bir domen artıq başqa hesab tərəfindən idarə olunur, digər hesabın zonasının ana və ya övladı, ya da VPS.org rezerv edilmiş adı.
İcazə tələb olunur:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Ən yenisi əvvəl, səhifə başına 25 olaraq zonalarınızı geri qaytarır. Qeydlər burada daxil edilmir; onları almaq üçün tək zonanı götürün.
| Parametrlər | Növü | Tələb olunur | İzahat |
|---|---|---|---|
domain |
string | _Yox | Yalnız bu domen adıyla zonanı geri qaytar |
page |
integer | _Yox | Səhifə nömrəsi, 1-dən başlayır |
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
}
]
}
| Sahə | Növü | İzahat |
|---|---|---|
uuid |
string | Bölgə təsviredicisi |
domain |
string | Domen adı, kiçik hərflərlə saxlanılır |
created_at |
datetime | Yaradılma vaxtı (ISO 8601, UTC) |
record_count |
integer | Üç NS qeydi daxil olmaqla zonadakı qeydlərin sayı |
| 200 | Müvəffəqiyyət |
| 403 | API tokeni yoxdu ya da səhvdir, ya da tokenin lazımi icazəsi yoxdur |
Bir zona yaradır və onu nəşr edir. Zona ns1, ns2 və ns3.vps.org üçün üç NS qeydi ilə başlayır, bunlar sistem qeydləridir və redaktə edilə və ya silinə bilməz.
| Parametrlər | Növü | Tələb olunur | İzahat |
|---|---|---|---|
domain |
string | Bəli | Domenin adı, misal 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 | Bölmə yaradıldı |
| 400 | Eksik ya da səhv domen adı |
Bir zonanı onun qeydləri olan bir qeydlər sırası ilə geri qaytarır. Cavab yuxarıda yaradılan cavabla eyni şəkildədir.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Müvəffəqiyyət |
| 404 | Tapılmadı ya da başqa hesaba aiddir |
Zonu üç ad vericisinin hamısından çıxarır, heç birinin ona xidmət etmədiyini yoxlayır, sonra da zonu və onun qeydlərini silər. Əgər ad vericisinin zona üçün cavabı varsa, tələbi bacarmaz və zona yenidən sınaya biləcəyiniz üçün saxlanılır.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Deleted. The response has no body. |
| 400 | Ad vericisinin həqiqətən də zonaya xidmət etməsi. Zona silinməmişdir; ətraflı sahədə xətalar göstərilir. |
| 404 | Tapılmadı ya da başqa hesaba aiddir |
GET zonadakı hər bir qeydi adi bir sıra olaraq (saytlanmış deyil) və növ və ad üzrə sıralanmış olaraq geri qaytarır. POST zonaya bir qeyd əlavə edir və onu yayımlayır.
| Parametrlər | Növü | Tələb olunur | İzahat |
|---|---|---|---|
record_type |
string | Bəli | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Bəli | @ domen özü üçün, ya da www kimi bir etiket üçün. Adlar kiçik hərflərlə saxlanılır. |
value |
string | Bəli | Qeyd məlumatı, məsələn IP ünvanı və ya qovşaq adı. Qovşaq adları üçün son nöqtə və TXT dəyərləri üçün nitqlərə ehtiyac yoxdur; hər ikisi qeyd nəşr edildikdə əlavə edilir. |
ttl |
integer | Bəli | Saniyede yaşadığı müddət |
priority |
integer | Yalnız MX və SRV | MX və SRV qeydləri üçün lazımlı və digər növlər üçün nəzərə alınmır. SRV üçün, dəyərdə ağırlıq, port və hədəf qoyun. |
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"
}
| Sahə | Növü | İzahat |
|---|---|---|
uuid |
string | /api/v1/dns-records/ son nöqtələri tərəfindən istifadə edilən qeyd identifikatoru |
priority |
integer | null | MX və SRV qeydləri üçün prioritet, əks halda null |
created_at |
date | Yalnız yaradılma tarixi (Y-MM-DD), vaxtsız |
| 200 | GET: zonanın qeydləri |
| 201 | POST: qeyd yaradıldı |
| 400 | Təsdiqləmə xətası, məsələn namə'lum qeyd növü, yox olan ttl, ya da prioritetsiz MX ya da SRV qeydi |
| 404 | Tapılmadı ya da başqa hesaba aiddir |
Zona və bütün qeydlərini ad vericilərinə yenidən göndərir. Qeyd dəyişikliyi avtomatik olaraq yayımlanır, lakin yayım ən yaxşı cəhddir və bir səhv orijinal tələbi bacarmır, buna görə də dəyişiklik DNS axtarışlarında görünmədiyi zaman bu istifadə edin. İstifadəçi tələbi lazım deyil.
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 bütün zonaların qeydlərini geri qaytarır, səhifə başına 25, domen, növ və ad üzrə sıralanır. POST zona qeydlərinin son nöqtəsi kimi bir qeyd yaradır, lakin zonanın bədənini zone_uuid olaraq alır.
| Parametrlər | Növü | Tələb olunur | İzahat |
|---|---|---|---|
zone |
string | _Yox | Yalnız bu uuid ilə zonanın qeydləri |
record_type |
string | _Yox | Yalnız bu növ qeydlər, məsələn MX (kiçik və böyük hərflərə fərq qoymur) |
page |
integer | _Yox | Səhifə nömrəsi, 1-dən başlayır |
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 | Bağlan |
| 201 | POST: qeyd yaradıldı |
| 400 | Təsdiqləmə xətası, ya da zone_uuid yoxdu ya da sizin zonalarınızdan biri deyil |
GET bir qeydi geri qaytarır. PUT onu əvəz edir və record_type, name, value və ttl tələb edir. PATCH yalnız göndərdiyiniz sahələri dəyişir. DELETE qeydi silərək bədənsiz 204 geri qaytarır. Dəyişikliklər dərhal yayımlanır. Zona ilə yaradılan NS qeydləri sistem qeydləridir: onları yeniləmək və ya silmək 403 geri qaytarır.
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 və ya PATCH: qeyd |
| 204 | Deleted. The response has no body. |
| 400 | Təsdiqləmə xətası |
| 403 | Qeyd sistem qeydidir ya da token lazımi icazələrə malik deyil |
| 404 | Tapılmadı ya da başqa hesaba aiddir |
Təsdiqləmə xətaları problemin sahənin adı ilə açarlandığı 400 geri qaytarır:
{
"priority": ["MX records require a priority value"]
}
Dəyişmə qeydiyyatçı delegasiyanız ya da həlledici ön qurğularınıza çatmadan əvvəl dəyişikliyin canlı olduğunu təsdiq etmək üçün VPS.org ad vericilərini doğrudan sorğulayın:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com