VPS.org API

ማስረጃ

የዲኤንኤስ አስተዳደር ኤፒአይ

የዲ ኤን ኤስ ክፍሎችን መፍጠር እና መዝገቦቻቸውን ማስተዳደር. ክፍሎች በ ns1.vps.org, ns2.vps.org እና ns3.vps.org ይሠራሉ.

የመጨረሻ ነጥቦች 13
የመሠረት መንገድ /api/v1/dns-zones, /api/v1/dns-records

አጠቃላይ እይታ

የዞን ለ አንድ ዶሜይን መዝገቦች ይይዛል. በ 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:*

አግኝ /api/v1/dns-zones/

ሁሉንም የዲኤንኤስ ዞኖች ዘርዝር

የዞኖችዎን ይመለሳል, አዲስ መጀመሪያ, 25 በእያንዳንዱ ገጽ. መዝገቦች እዚህ አልተካተቱም; እነርሱን ለማግኘት አንድ ዞን ማግኘት.

የጥያቄ መለኪያዎች

መለኪያ አይነት ያስፈልጋል መግለጫ የለም
domain string አዎ Return only the zone with exactly this domain name
page integer አዎ Page number, starting at 1

የምሳሌ ጥያቄ

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 Creation time (ISO 8601, UTC)
record_count integer Number of records in the zone, including the three NS records

የምላሽ ሁኔታ ኮዶች

200 ውጤት
403 የጠፋ ወይም ያልሆነ API Token ወይም Token የተጠየቀውን ፈቃድ የሌለው ነው
ደብዳቤ /api/v1/dns-zones/

የDNS ክልል ፍጠር

ክልል ይፈጥራል እና ያወጣል. ክልል ለ 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 የዶሜን ስም
አግኝ /api/v1/dns-zones/{uuid}/

የDNS ዝርዝሮችን ማግኘት

አንድ ክልል በሁሉም መዝገቦች በመዝገቦች አርሬይ ጋር ይመለሳል. መልሱ እንደ መጀመሪያው መልስ እንደ መጀመሪያው መልስ ተመሳሳይ ነው.

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 ክልል አጥፉ

ዞኑን ከሦስት ስም ሰርቨሮች ሁሉ ያስወግዳል፣ ምንም እንኳን እነሱ አሁንም ሊያገለግሉዋቸው እንደሚችሉ ያረጋግጣል፣ ከዚያም ዞኑን እና መዝገቦቹን ያጥፋል። ስም ሰርቨር አሁንም ለዞኑ መልስ ቢሰጥ፣ ጥያቄው ተሳክቷል እና ዞኑ እንደገና ለመሞከር እንዲችሉ ይቀመጣል

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 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
አግኝ ደብዳቤ /api/v1/dns-zones/{uuid}/records/

መዝገብ ቤትን ክፈት

GET በዞን ውስጥ ያለውን መዝገብ ሁሉ እንደ ቀላል አረፋ (በጣም paged), በዓይነቱና በተሰየመው ይከፋፍላል ይመለሳል. POST መዝገብ ወደ ዞን ይጨምራል እና ይለጥፋል.

የጥያቄ አካል መለኪያዎች (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
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/ መጨረሻ ነጥቦች የተጠቀመ
priority integer | null የMX እና SRV መዝገቦችን መጀመሪያ፣ ካልሆነ ኑል
created_at date የቀን መቁጠሪያ ቀን ብቻ (Y-MM-DD)

የምላሽ ሁኔታ ኮዶች

200 GET: የዞን መዝገቦች
201 የተፈጠረ
400 የምርመራ ስህተት፣ ለምሳሌ ያልታወቀ የመዝገብ ዓይነት፣ የሌለ ttl፣ ወይም MX ወይም SRV መዝገብ ያለ ቅድመ ሁኔታ
404 አልተገኘም ወይም ሌላ የግልጽነት መለያ ይዟል
ደብዳቤ /api/v1/dns-zones/{uuid}/sync/

አዲስ ፋይል

የዞን እና ሁሉንም መዝገቦች ወደ ስም ሰርቨሮች እንደገና ይጫኑ. መዝገቦች ለውጦች በራስ-ሰር ይለጠፋሉ, ነገር ግን መጻፍ በጣም ጥሩ ጥረት ነው እና መጥፋት የመጀመሪያውን ጥያቄ አይጥፋም, ስለዚህ ለውጥ በ 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"
}
አግኝ ደብዳቤ /api/v1/dns-records/

መዝገብ ቤትን ፍጠር

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 የሌለ ወይም ከዞኖችህ አንዱ አይደለም
አግኝ PUT PATCH ሰርዝ /api/v1/dns-records/{uuid}/

መዝገብ ቤትን አጥፉ

GET አንድ መዝገብ ቤትን ይመልሳል. PUT ይለውጣል እና record_type, name, value እና ttl ያስፈልጋል. PATCH የሚላኩትን መስኮች ብቻ ይለውጣል. DELETE መዝገብ ቤቱን ያስወግዳል እና 204 ያለ አካል ይመልሳል. ለውጦች በፍጥነት ይለቀቃሉ. NS መዝገብ ቤቶች በዞን የተፈጠሩ ሲስተም መዝገብ ቤቶች ናቸው: ማሻሻል ወይም ማጥፋት 403 ይመልሳል.

የMX ወይም SRV መዝገብ ቤትን ፋይዳ ስትጠብቅ፣ 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 ተጥፏል፦ መልሱ አካል የሌለው ነው
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