VPS.org API

REST API दस्तऐवजीकरण

DNS व्यवस्थापन API

डीएनएस क्षेत्रे निर्माण करा आणि त्यांच्या नोंदींचे व्यवस्थापन करा. क्षेत्र ns1.vps.org, ns2.vps.org आणि ns3.vps.org द्वारे सेवा दिली जाते.

शेवटचे बिंदू 13
बेस पाथ /api/v1/dns-zones, /api/v1/dns-records

आढावा

एक क्षेत्र एक क्षेत्रासाठी नोंदी ठेवते. API द्वारे आपण केलेले प्रत्येक बदल VPS.org नाव सर्वरवर त्वरित पाठवला जातो. या क्षेत्रांपासून क्षेत्र सेवा करण्यासाठी, आपल्या नोंदणीकृत नाव सर्वर 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/

सर्व DNS झोन सूचीबद्ध करा

तुमच्या क्षेत्र, नविन प्रथम, प्रति पान 25 परत करतो. नोंदणी येथे समाविष्टीत नाही; त्यांना प्राप्त करण्याकरीता एकल क्षेत्र प्राप्त करा.

क्वेरी पॅरामीटर्स

परिमाण प्रकार आवश्यक वर्णन@ title: window
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
    }
  ]
}

प्रतिसाद फील्ड

क्षेत्र प्रकार वर्णन@ title: window
uuid string क्षेत्र ओळखकर्ता
domain string क्षेत्र नाव, लहान अक्षरात संचयीत
created_at datetime बनविण्याचे वेळ (ISO 8601, UTC)
record_count integer क्षेत्रातील नोंदींची संख्या, तीन NS नोंदी समाविष्टीत

प्रतिसाद स्थिती कोड

200 यशस्वी
403 आढळले नाही किंवा अवैध API टोकन, किंवा टोकन करीता आवश्यक परवानगी आढळली नाही
पोस्ट /api/v1/dns-zones/

DNS क्षेत्र बनवा

क्षेत्र बनविते व प्रकाशित करते. ns1, ns2 व ns3. vps.org करीता तीन NS नोंदीसह क्षेत्र सुरू होते, जे प्रणाली नोंदी आहेत व संपादीत किंवा नष्ट केले जाऊ शकत नाही.

बॉडी पॅरामीटर्सची विनंती करा

परिमाण प्रकार आवश्यक वर्णन@ title: window
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 क्षेत्रातील प्रत्येक रेकॉर्डला एक साधा अॅरे (पेज्ड नाही) म्हणून परत करतो, प्रकार आणि नावाने क्रमबद्ध. POST क्षेत्रात रेकॉर्ड जोडतो आणि प्रकाशित करतो.

बॉडी पॅरामीटर्सची विनंती करा (POST)

परिमाण प्रकार आवश्यक वर्णन@ title: window
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"
}

प्रतिसाद फील्ड

क्षेत्र प्रकार वर्णन@ title: window
uuid string /api/v1/dns-records/ endpoints द्वारे वापरले जाणारे रेकार्ड ओळखकर्ता
priority integer | null MX व SRV रेकॉर्ड करीता प्राधान्यता, अन्यथा शून्य
created_at date फक्त निर्मिती दिनांक (Y- MM- DD), वेळ विना

प्रतिसाद स्थिती कोड

200 GET: क्षेत्राच्या नोंदी
201 POST: रेकॉर्ड बनविले
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 प्रमाणे शरीरात घेते.

क्वेरी पॅरामीटर्स

परिमाण प्रकार आवश्यक वर्णन@ title: window
zone string नाही या uuid सह क्षेत्र करीता फक्त नोंदणी
record_type string नाही फक्त या प्रकारचे रेकॉर्ड, उदाहरणार्थ MX (case sensitive)
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 GET: यशस्वी
201 POST: रेकॉर्ड बनविले
400 वैधता त्रुटी, किंवा zone_ uuid आढळले नाही किंवा तुमच्या क्षेत्रांपैकी एक नाही
मिळवा PUT PATCH हटवा /api/v1/dns-records/{uuid}/

रेकॉर्ड प्राप्त करा, अद्ययावत करा किंवा नष्ट करा

GET एक रेकॉर्ड परत करतो. PUT त्याचे स्थानांतर करतो व record_type, name, value आणि ttl आवश्यक आहे. PATCH फक्त तुम्ही पाठविलेले क्षेत्र बदलविते. DELETE रेकॉर्ड काढून टाकते व 204 शरीराशिवाय परत करतो. बदल लगेच प्रकाशित केले जातात. NS रेकॉर्ड क्षेत्रासह बनविलेले प्रणाली रेकॉर्ड आहेत: अद्ययावत किंवा काढून टाकणे 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 नष्ट केले. प्रतिसाद करीता मुख्य भाग नाही.
400 वैधता त्रुटी
403 रेकॉर्ड प्रणाली रेकॉर्ड आहे, किंवा टोकन करीता आवश्यक परवानगी आढळली नाही
404 आढळले नाही किंवा ते इतर खात्याशी संबंधित आहे

त्रुटी हाताळणी

वैधता त्रुटी क्षेत्र नावाने समस्या करीता 400 परत करीत आहे:

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

DNS बदल चाचणी करीत आहे

बदल निश्चित करण्याकरीता VPS.org नाव सर्वरला थेट प्रश्न विचारा, जेणेकरून तुमचे रजिस्टर डेलिगेशन किंवा रिझॉल्युशन कॅशे मिळण्यापूर्वी बदल सक्रिय होईल:

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