VPS.org API

डेटी एपीआई प्रलेख

DNS प्रबंधन API

DNS zones बनाएं और उनके records को manage करें। Zones ns1.vps.org, ns2.vps.org और ns3.vps.org द्वारा serve किए जाते हैं।

अंतिमबिंदुओं 13
आधार पथ /api/v1/dns-zones, /api/v1/dns-records

अवलोकन

एक zone एक domain के records रखता है। API के माध्यम से किया गया हर बदलाव तुरंत VPS.org nameservers पर push कर दिया जाता है। इन zones से एक domain serve करने के लिए, अपने registrar पर उसके nameservers को ns1.vps.org, ns2.vps.org और ns3.vps.org पर सेट करें।

बदलाव एक ही step में save और publish होते हैं: अगर nameservers कोई बदलाव अस्वीकार करते हैं, तो request 502 लौटाता है और कुछ भी save नहीं होता। किसी ऐसे domain के लिए zone नहीं बनाया जा सकता जिसे कोई दूसरा account पहले से manage करता हो, जो किसी दूसरे account के zone का parent या child हो, या जो VPS.org का reserved name हो।

अनुमति: dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*

पाना /api/v1/dns-zones/

सभी DNS ज़ोन की सूची बनाएं

अपने क्षेत्र को वापस ले जाता है, नया सबसे पहला, 25 प्रति पृष्ठ. अभिलेख यहाँ नहीं हैं; उन्हें प्राप्त करने के लिए एक ही क्षेत्र भेजें.

क्वेरी पैरामीटर

पैरामीटर प्रकार आवश्यक वर्णन
domain string नहीं सिर्फ इस डोमेन नाम के साथ क्षेत्र को वापस करें
page integer नहीं पृष्ठ क्रमांक, 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 सृष्टि समय (ISO 8601, यूटीसी)
record_count integer क्षेत्र में रिकॉर्ड की संख्या, जिसमें तीन नस रिकॉर्ड हैं

प्रतिक्रिया स्थिति कोड

200 सफलता
403 गुम है या अवैध एपीआई टोकन, या टोकन जरूरी अनुमति नहीं
रूट /api/v1/dns-zones/

डीएनएस सूट बनाएँ

एक zone बनाता है और उसे publish करता है। Zone ns1, ns2 और ns3.vps.org के लिए तीन NS records के साथ शुरू होता है, जो system records हैं और edit या delete नहीं किए जा सकते।

अनुरोध निकाय पैरामीटर

पैरामीटर प्रकार आवश्यक वर्णन
domain string हाँ उदाहरण के लिए डोमेन नाम उदाहरण के लिए.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}/

डीएनएस सर्विस विवरण प्राप्त करें

जवाब में जैसा आकार ऊपर दिया गया है, वैसा ही आकार है ।

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}/

डीएनएस टाइम- आउटः मिटाएँ (y)

सभी तीन नामसर्वर से क्षेत्र हटा देता है, जांच करता है कि उनमें से कोई भी अभी भी सेवा नहीं करता है, और क्षेत्र और उसके रिकॉर्ड हटा देता है. यदि कोई सर्वर अब भी क्षेत्र के लिए जवाब देता है, तो निवेदन असफल होता है और क्षेत्र को जारी रखा जाता है ताकि आप कोशिश कर सकें.

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

प्रतिक्रिया स्थिति कोड

204 मिटाया. प्रतिक्रिया कोई शरीर नहीं है.
400 सर्वर के लिए एक नामserver अभी भी क्षेत्र में सेवा करता है. क्षेत्र को मिटाया नहीं गया था; विवरण क्षेत्र की त्रुटियाँ सूचीबद्ध करता है.
404 नहीं मिला, या यह अन्य खाता है
पाना रूट /api/v1/dns-zones/{uuid}/records/

क्षेत्र में अभिलेखों की सूची या जोड़ें

क्षेत्र में हर रिकॉर्ड को एक सादा क्रम के रूप में लौटाता है (नविधन नहीं), टाइप और नाम द्वारा जमा किया गया है. Phonon और प्रकाशित क्षेत्र में एक रिकॉर्ड जोड़ता है और यह प्रकाशित करता है.

अनुरोध निकाय पैरामीटर (POST)

पैरामीटर प्रकार आवश्यक वर्णन
record_type string हाँ A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA
name string हाँ नाम लोअरकेस में रखे गए हैं ।
value string हाँ अभिलेख आंकड़ा, एक आईपी पता या होस्टनाम के लिए. होस्टनाम डोट और टीटी मान के साथ पुनः लिखने की जरूरत नहीं होती है; अभिलेख साफ दिखाया गया है जब रिकार्ड प्रकाशित किया गया है.
ttl integer हाँ सेकंड में रहने का समय
priority integer एमएक्स तथा एसआरवी सिर्फ एमएक्स और एसआरवी रिकॉर्ड के लिए आवश्यक और हर अन्य प्रकार के लिए अनदेखा किया. एसआरवी, वजन, पोर्ट और मूल्य में लक्ष्य.

उदाहरण अनुरोध

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 रेकॉर्ड पहचानकर्ता, / v1/ sss
priority integer | null एमएक्स तथा एसआरवी रिकार्ड के लिए प्राथमिकता, अन्यथा नल
created_at date केवल बनाने की तिथि (Y- MM- DD), बिना एक समय के

प्रतिक्रिया स्थिति कोड

200 जाओ: क्षेत्र के रिकॉर्ड
201 पोस्ट: रेकॉर्ड बनाया गया
400 वैधता त्रुटि, एक अज्ञात रेकॉर्ड क़िस्म के लिए, एक गुम tl, या एमईएक्सआरआरडी रेकॉर्ड को प्राथमिकता के बिना
404 नहीं मिला, या यह अन्य खाता है
रूट /api/v1/dns-zones/{uuid}/sync/

क्षेत्र को पुन: व्यवस्थित करें

क्षेत्र को फिर से प्रारंभ करने और सर्वर नाम के सभी रिकॉर्ड को फिर से प्रकाशित करने के लिए क्लिक करें. रेकॉर्ड परिवर्तनों को स्वतः प्रकाशित किया जाता है, लेकिन एक असफलता मूल निवेदन और असफलता असफल नहीं कर रही है, इसलिए जब कोई परिवर्तन होता है तो इसका प्रयोग करें डीएनएस तलाशों में नहीं. कोई निवेदन की आवश्यकता नहीं है.

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/

शहर के आरपार सूची या अभिलेख बनाएँ

अपने सभी क्षेत्रों के रिकॉर्ड बताता है, 25 प्रति पृष्ठ, डोमेन, प्रकार और नाम द्वारा आदेश दिया गया है. Phot क्षेत्र रिकॉर्ड अंत - क्षेत्र रिकॉर्ड के रूप में बनाता है, लेकिन शरीर में क्षेत्र क्षेत्र को क्षेत्र_ud_udigiwad के रूप में ले जाता है.

क्वेरी पैरामीटर

पैरामीटर प्रकार आवश्यक वर्णन
zone string नहीं इस udary के साथ क्षेत्र के सिर्फ रिकॉर्ड
record_type string नहीं उदाहरण के लिए, एमएक्स (साएसिक) के लिए सिर्फ इस क़िस्म का रिकॉर्ड
page integer नहीं पृष्ठ क्रमांक, 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 वैधता त्रुटि, या क्षेत्र_u महाजोंग अमान्य है या आपके क्षेत्र में से एक नहीं है
पाना PUT PATCH मिटाना /api/v1/dns-records/{uuid}/

निशान प्राप्त करें, अद्यतन या मिटाएँ

GET एक record लौटाता है। PUT उसे replace करता है और इसके लिए record_type, name, value और ttl चाहिए। PATCH केवल वे fields बदलता है जो आप भेजते हैं। DELETE record को हटाता है और बिना body के 204 लौटाता है। बदलाव तुरंत publish होते हैं। zone के साथ बनाए गए NS records system records हैं: उन्हें update या delete करने पर 403 मिलता है।

जब आप किसी एमएक्स या SV रिकार्ड की प्राथमिकता को हल करते हैं, तो रिकार्ड_BAR_एक ही अनुरोध में रिकार्ड क़िस्म भेजें_BAR_ किसी को प्राथमिकता के साथ माफ़ करें, लेकिन रिकार्ड किए बिना _BAR_ क्रम-प्रयोगिक प्राथमिकताओं को स्पष्ट करता है _BAR_
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 जाओ, आउटपुट या पीएएओ: रिकॉर्ड
204 मिटाया. प्रतिक्रिया कोई शरीर नहीं है.
400 वैधता त्रुटि
403 रिकार्ड है तंत्र रिकार्ड है, या टोकन में वांछित अनुमति नहीं है
404 नहीं मिला, या यह अन्य खाता है

सिंकिंग में त्रुटि

वेलिडेशन त्रुटिओं को क्षेत्र नाम से लिया गया समस्या के 400 साथ लौटाई गई:

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

डीएनएस परिवर्तन जाँच रहा है

अपने registrar delegation या resolver caches के अपडेट होने से पहले यह पुष्टि करने के लिए कि कोई बदलाव live है, सीधे VPS.org nameservers को query करें:

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