የዲ ኤን ኤስ ክፍሎችን መፍጠር እና መዝገቦቻቸውን ማስተዳደር. ክፍሎች በ ns1.vps.org, ns2.vps.org እና ns3.vps.org ይሠራሉ.
የዞን ለ አንድ ዶሜይን መዝገቦች ይይዛል. በ API ውስጥ የሚያደርጉት ለውጥ ሁሉ በ VPS.org ስም ሰርቨሮች በፍጥነት ተጭኗል. ከእነዚህ አካባቢዎች ዶሜይን ለመስጠት, በ ሪጅስትራርዎ ላይ የ Nameservers ን 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 | አዎ | Return only the zone with exactly this domain name |
page |
integer | አዎ | Page number, starting at 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 | Creation time (ISO 8601, UTC) |
record_count |
integer | Number of records in the zone, including the three NS records |
| 200 | ውጤት |
| 403 | የጠፋ ወይም ያልሆነ API Token ወይም Token የተጠየቀውን ፈቃድ የሌለው ነው |
ክልል ይፈጥራል እና ያወጣል. ክልል ለ ns1, ns2 እና ns3.vps.org ሦስት NS መዝገቦች ጋር ይጀምራል, እነርሱ የሲስተም መዝገቦች ናቸው እና ሊቀየር ወይም ሊጠፋ አይችልም.
| መለኪያ | አይነት | ያስፈልጋል | መግለጫ የለም |
|---|---|---|---|
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 በዞን ውስጥ ያለውን መዝገብ ሁሉ እንደ ቀላል አረፋ (በጣም paged), በዓይነቱና በተሰየመው ይከፋፍላል ይመለሳል. 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 | የተፈጠረ |
| 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 | አዎ | የዞን መዝገብ ቤትን አሳይ |
record_type |
string | አዎ | የዚህ ዓይነት መዝገቦች ብቻ፣ ለምሳሌ MX (የፊደል ቅርጽ አያይዝ) |
page |
integer | አዎ | Page number, starting at 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 | ውጤት |
| 201 | የተፈጠረ |
| 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