VPS.org API

REST API ကိုစာရွက်စာတမ်းများ

DNS စီမံခန့်ခွဲမှု API

DNS Zones များကိုဖန်တီးပြီး မှတ်တမ်းများကို စီမံခန့်ခွဲပါ။ Zones များကို ns1.vps.org, ns2.vps.org နှင့် ns3.vps.org တို့မှ ဝန်ဆောင်မှုပေးပါသည်။

အဆုံးမှတ်များ 13
အခြေခံလမ်းကြောင်း /api/v1/dns-zones, /api/v1/dns-records

ခြုံငုံသုံးသပ်ချက်

တစ်ဦးက zone ကိုတစ် domain ကိုများအတွက်မှတ်တမ်းများကိုပိုင်ဆိုင်. သင် API ကိုမှတဆင့်လုပ်ပေးသောပြောင်းလဲမှုတိုင်း VPS.org nameservers ကိုချက်ချင်းပစ်ချသည်. ဤ zones များမှဒေတာဘေ့စဝန်ဆောင်မှု, ns1.vps.org ကိုသင်၏ registrar မှာ၎င်း၏ nameservers ကို set, ns2.vps.org နှင့် ns3.vps.org.

ပြောင်းလဲမှုများကိုတစ်ဆင့်မှာ save လုပ်ထားပြီးထုတ်ဝေကြသည်: nameservers ပြောင်းလဲမှုကိုငြင်းပယ်လျှင်, တောင်းဆိုချက်ပြန်လာ 502 နှင့်ဘာမှမသိမ်းဆည်းထားသည်. အခြားအကောင့်ကိုစီမံခန့်ခွဲနေသောဒိုမိန်းအတွက် zone ကိုဖန်တီးလို့မရပါဘူး, အခြားအကောင့်၏ zone ကို၏မိဘသို့မဟုတ်ကလေး, သို့မဟုတ် VPS.org သိမ်းဆည်းထားသောအမည်.

ခွင့်ပြုချက်လိုအပ်သည်: dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*

ရယူပါ /api/v1/dns-zones/

DNS ဇုန်အားလုံးကို စာရင်းပြုစုပါ

သင့်ရဲ့ zones တွေကိုပြန်လာ, အသစ်ဆုံးပထမဦးဆုံး, 25 စာမျက်နှာတစ်မျက်နှာလျှင်။ မှတ်တမ်းများဒီမှာပါဝင်သည်မဟုတ်; သူတို့ကိုရဖို့တစ်ဦးတည်းသော zone ကို fetch ။

မေးမြန်းချက် ကန့်သတ်ချက်များ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
domain string ဟုတ်ကဲ့ ဒီဒေတာဘေ့စ်အမည်နဲ့သာ သက်ဆိုင်သော နယ်မြေကို ပေးပို့ပါ
page integer ဟုတ်ကဲ့ စာမျက်နှာနံပါတ်၊ ၁ မှစတင်သည်

နမူနာတောင်းဆိုချက်

cURL
Python
JavaScript
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 token မပါဘဲ သို့မဟုတ် မမှန်ကန်ပါ၊ သို့မဟုတ် token သည်လိုအပ်သောခွင့်ပြုချက်မရှိပါ
ပို့စ် /api/v1/dns-zones/

DNS Zone ကိုဖန်တီးပါ

zone ကိုဖန်တီးပြီး၎င်းကိုထုတ်ဝေ. အဆိုပါ zone ကို ns1, ns2 နှင့် ns3.vps.org, သောစနစ်မှတ်တမ်းများဖြစ်ကြပြီးတည်းဖြတ်သို့မဟုတ်ဖျက်ပစ်နိုင်ခြင်းမရှိသောများအတွက်သုံး NS မှတ်တမ်းများနှင့်အတူစတင်.

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
domain string ဟုတ်ကဲ့ domain name ကို, ဥပမာ 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 ရှာမတွေ့ပါ
ရယူပါ /api/v1/dns-zones/{uuid}/

DNS Zone အသေးစိတ်အချက်အလက်များ Get

မှတ်တမ်းများ array တစ်ခုတွင်၎င်း၏မှတ်တမ်းများအားလုံးနှင့်အတူတစ် zone ကိုပြန်လာ။ တုံ့ပြန်မှုအပေါ်ကဖန်တီးတုံ့ပြန်မှုအဖြစ်တူညီတဲ့ပုံစံရှိပါတယ်

curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

200 အောင်မြင်မှု
404 မတွေ့ရှိပါ၊ သို့မဟုတ် အခြားအကောင့်တစ်ခုနှင့် သက်ဆိုင်သည်
ဖျက်ရန် /api/v1/dns-zones/{uuid}/

DNS Zone ကိုပယ်ဖျက်

အားလုံးသုံးခုနာမကိုက်ဆာဗာမှဇုန်ကိုဖယ်ရှား, သူတို့ထဲကဘယ်သူမျှမအစဉ်အမြဲဝန်ဆောင်မှုပေးကြောင်းစစ်ဆေးခြင်း, ထို့နောက်ဇုန်နှင့်၎င်း၏မှတ်တမ်းများကိုဖျက်ပစ်. nameserver တစ်ခုအစဉ်အမြဲဇုန်အတွက်အဖြေပေးလျှင်, တောင်းဆိုမှုပျက်ကွက်နှင့်ဇုန်ကိုသင်ကြိုးစားနိုင်အောင်ပြန်သိမ်းထားသည်။

curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

204 Delete လုပ်လိုက်ပြီ။ တုံ့ပြန်ချက်မှာ ခေါင်းစဉ်မရှိဘူး
400 နာမည် ဆာဗာ တစ်ခုက နယ်မြေကို ဝန်ဆောင်နေဆဲ ဖြစ်သည်။ နယ်မြေကို မဖျက်ပစ်ခဲ့ပါ။ အချက်အလက် နယ်ပယ်တွင် အမှားများကို စာရင်းပြုစုထားသည်။
404 မတွေ့ရှိပါ၊ သို့မဟုတ် အခြားအကောင့်တစ်ခုနှင့် သက်ဆိုင်သည်
ရယူပါ ပို့စ် /api/v1/dns-zones/{uuid}/records/

စာရင်းသွင်းခြင်း သို့မဟုတ် မှတ်တမ်းများ ထည့်သွင်းခြင်း

GET အမျိုးအစားနှင့်အမည်အားဖြင့်စီစဉ်, ရိုးရှင်းတဲ့ array (pageted မဟုတ်) အဖြစ် zone ထဲမှာအားလုံးမှတ်တမ်းကိုပြန်ပေးပို့သည်။ POST zone ကိုမှတ်တမ်းတစ်ခုကို adds and publishes it ။

ခန္ဓာကိုယ် ကန့်သတ်ချက်များ တောင်းဆိုပါ (POST)

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
record_type string ဟုတ်ကဲ့ A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string ဟုတ်ကဲ့ @ domain ကိုကိုယ်ပိုင်သို့မဟုတ် www ကဲ့သို့ label ကိုများအတွက်။ အမည်များသေးငယ်တဲ့စာလုံးများထဲမှာသိမ်းဆည်းထားကြသည်။
value string ဟုတ်ကဲ့ မှတ်တမ်းဒေတာ, ဥပမာအားဖြင့် IP address ကိုသို့မဟုတ် hostname ကို။ hostname များကိုတစ်ဦးနောက်ကျော dot ကိုလိုအပ်ခြင်းမရှိပါနှင့် TXT တန်ဖိုးများကို quotes လိုအပ်ခြင်းမရှိပါ; နှစ်ဦးစလုံးမှတ်တမ်းထုတ်ဝေတဲ့အခါမှာထည့်သွင်းထားသည်။
ttl integer ဟုတ်ကဲ့ စက္ကန့်များဖြင့် အသက်ရှင်ရန်အချိန်
priority integer MX နှင့် SRV များသာ MX နှင့် SRV မှတ်တမ်းများအတွက်လိုအပ်ပြီးအခြားအမျိုးအစားများအတွက်မေ့လျော့. SRV အတွက်, တန်ဖိုးကိုထဲမှာအလေးချိန်, port ကိုနှင့်ရည်မှန်းချက်ကိုထား.

နမူနာတောင်းဆိုချက်

cURL
Python
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/ endpoints ဖြင့်အသုံးပြုသည်
priority integer | null MX နှင့် SRV မှတ်တမ်းများအတွက် အဆင့်အတန်း၊ မဆို null
created_at date တည်ဆောက်မှုနေ့စွဲသာ (Y-MM-DD), အချိန်မရှိ

တုံ့ပြန်မှု အခြေအနေ ကုဒ်များ

200 GET: နယ်မြေ၏မှတ်တမ်းများ
201 POST: မှတ်တမ်းဖန်တီး
400 သက်သေပြမှုအမှား, ဥပမာ, အမည်မသိမှတ်တမ်းအမျိုးအစား, တစ်ခုပျောက်ဆုံး ttl, သို့မဟုတ်အရေးကြီးဆုံးမရှိဘဲ MX သို့မဟုတ် SRV မှတ်တမ်း
404 မတွေ့ရှိပါ၊ သို့မဟုတ် အခြားအကောင့်တစ်ခုနှင့် သက်ဆိုင်သည်
ပို့စ် /api/v1/dns-zones/{uuid}/sync/

နယ်မြေတစ်ခုကို ပြန်လည်ထုတ်ဝေပါ

မှတ်တမ်းအပြောင်းအလဲများကိုအလိုအလျောက်ထုတ်ဝေကြသည်, ဒါပေမယ့်ထုတ်ဝေအကောင်းဆုံးကြိုးစားအားထုတ်မှုနှင့်တစ်ဦးပျက်ကွက်မူရင်းတောင်းဆိုမှုကိုပျက်ကွက်မဟုတ်ပါဘူး, ဒါကြောင့်အပြောင်းအလဲတစ်ခု DNS lookups မှာပေါ်မပြသတဲ့အခါဒီကိုသုံးပါ. တောင်းဆိုမှုကိုယ်ခန္ဓာလိုအပ်ပါတယ်မဟုတ်.

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"
}
ရယူပါ ပို့စ် /api/v1/dns-records/

စာရင်းသို့မဟုတ်ဒေသအသီးသီးအကြားမှတ်တမ်းများဖန်တီး

GET သင့်ရဲ့အားလုံး zones များ၏မှတ်တမ်းများကိုပြန်ပေး, 25 စာမျက်နှာတစ်မျက်နှာလျှင်, domain ကို, အမျိုးအစားနှင့်အမည်အားဖြင့်အမိန့်ပေး. POST ဟာ zone မှတ်တမ်းများ endpoint ကဲ့သို့မှတ်တမ်းတစ်ခုဖန်တီး, ဒါပေမယ့် zone_uuid အဖြစ်ကိုယ်ခန္ဓာထဲမှာ zone ကိုယူ.

မေးမြန်းချက် ကန့်သတ်ချက်များ

သတ်မှတ်ချက် အမျိုးအစား လိုအပ်သည် ဖော်ပြချက်
zone string ဟုတ်ကဲ့ ဒီ uuid နဲ့ နယ်မြေရဲ့မှတ်တမ်းများသာ
record_type string ဟုတ်ကဲ့ MX (အက္ခရာအကြီးအသေး ခွဲခြား) ကဲ့သို့သော ဤအမျိုးအစား မှတ်တမ်းများသာ
page integer ဟုတ်ကဲ့ စာမျက်နှာနံပါတ်၊ ၁ မှစတင်သည်
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 ကိုပျောက်ဆုံးနေသည်သို့မဟုတ်သင်၏ဇုန်တစ်ခုမဟုတ်ပါ
ရယူပါ PUT PATCH ဖျက်ရန် /api/v1/dns-records/{uuid}/

မှတ်တမ်းတစ်ခုကိုရယူပါ၊ ပြုပြင်ပါ၊ ဖျက်ပါ

GET တစ်ခုမှတ်တမ်းပြန်လာ. PUT အစားထိုးနှင့်လိုအပ် record_type, အမည်, တန်ဖိုးနှင့် ttl. PATCH သင်ပေးပို့သောနယ်ပယ်သာပြောင်းလဲ. DELETE မှတ်တမ်းကိုဖယ်ရှားပြီးအဘယ်သူမျှမကိုယ်ခန္ဓာနှင့်အတူ 204 ပြန်လာ. ပြောင်းလဲမှုများချက်ချင်းထုတ်ဝေကြသည်။ အဆိုပါ NS မှတ်တမ်းများ zone နဲ့ဖန်တီးစနစ်မှတ်တမ်းများဖြစ်ကြသည်: update လုပ်ခြင်းသို့မဟုတ်သူတို့ကိုဖျက်ပစ်ခြင်းပြန်လာ 403 ။

သင်တစ်ဦး MX သို့မဟုတ် SRV မှတ်တမ်း၏အလိုအလျောက် PATCH အခါ, အလားတူတောင်းဆိုချက်ထဲမှာ record_type ကိုပို့. အလိုအလျောက်နှင့်အတူတစ်ဦး PATCH ကိုယ်ခန္ဓာပေမယ့် record_type မလိုဘဲအလိုအလျောက်ရှင်းလင်း.
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 Delete လုပ်လိုက်ပြီ။ တုံ့ပြန်ချက်မှာ ခေါင်းစဉ်မရှိဘူး
400 မှန်ကန်မှု စစ်ဆေးခြင်း မှားယွင်းမှု
403 မှတ်တမ်းဟာ စနစ်မှတ်တမ်းဖြစ်တယ်၊ ဒါမှမဟုတ် တန်ကိန်းမှာ လိုအပ်တဲ့ခွင့်ပြုချက်မရှိဘူး
404 မတွေ့ရှိပါ၊ သို့မဟုတ် အခြားအကောင့်တစ်ခုနှင့် သက်ဆိုင်သည်

အမှား ကိုင်တွယ်ခြင်း

validation errors တွေကိုပြန်လာ 400 နယ်မြေအမည်အားဖြင့် keyed ပြဿနာနှင့်အတူ:

{
  "priority": ["MX records require a priority value"]
}

DNS ပြောင်းလဲမှုများစမ်းသပ်ခြင်း

ပြောင်းလဲမှုတစ်ခုကိုသင်၏မှတ်ပုံတင်ကိုယ်စားလှယ်သို့မဟုတ် resolver cache ကိုဖမ်းဖို့မတိုင်မီသင့်ရဲ့လက်ခံသူကိုယ်စားလှယ်သို့မဟုတ်မတိုင်မီသက်ဝင်ဖြစ်ပါတယ်သေချာစေရန်တိုက်ရိုက် VPS.org nameservers ကိုမေးမြန်း:

dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com