NRNIC API

वेब डैशबोर्ड में जो कुछ भी आप कर सकते हैं (डोमेन जोड़ना और हटाना, DNS रिकॉर्ड प्रबंधित करना), वह सब REST API के ज़रिए प्रोग्राम से भी किया जा सकता है।

अवलोकन

सभी एंडपॉइंट JSON में अनुरोध स्वीकार करते हैं और JSON में ही उत्तर देते हैं। प्रमाणीकरण के लिए API कुंजी आवश्यक है (नीचे देखें)। फ़िलहाल पेजिनेशन और अनुरोध-सीमा (रेट लिमिट) नहीं है।

बेस URL

https://ns.nrnic.com/api

प्रमाणीकरण

API कुंजी आप खाता सेटिंग्स से जनरेट कर सकते हैं। नई जनरेट की गई कुंजी केवल एक बार दिखाई जाती है, इसलिए इसे सुरक्षित स्थान पर सहेजना सुनिश्चित करें।

हर अनुरोध में निम्नलिखित Authorization हेडर शामिल करें:

Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

सुरक्षा संबंधी नोट

API कुंजी को पासवर्ड की तरह सुरक्षित रखें। इसे कभी सार्वजनिक रिपॉज़िटरी में न डालें और न ही क्लाइंट-साइड JavaScript में शामिल करें — इसका उपयोग केवल सर्वर-साइड कोड से करें। यदि कुंजी उजागर हो जाए, तो तुरंत खाता सेटिंग्स से उसे रद्द करें और नई कुंजी जनरेट करें।

त्रुटि उत्तर

त्रुटि होने पर उत्तर में उपयुक्त HTTP स्टेटस कोड (401/404/409/422/500 आदि) और निम्नलिखित JSON संरचना होती है।

{
  "error": {
    "code": "domain_not_found",
    "message": "Domain not found."
  }
}

एंडपॉइंट

मेथड पाथ विवरण
GET/api/domainsप्रमाणित उपयोगकर्ता के डोमेन की सूची प्राप्त करें
POST/api/domainsडोमेन जोड़ें
GET/api/domains/{id}डोमेन प्राप्त करें, NS सिंक और डेलिगेशन स्थिति सहित
DELETE/api/domains/{id}डोमेन हटाएं
POST/api/domains/{id}/resyncDNS ज़ोन को सभी नेमसर्वर (ns1–ns4) पर दोबारा भेजें
POST/api/domains/{id}/delegation-checkजाँचें कि डोमेन NRNIC को डेलिगेट किया गया है या नहीं
GET/api/domains/{id}/recordsडोमेन के DNS रिकॉर्ड की सूची प्राप्त करें
POST/api/domains/{id}/recordsDNS रिकॉर्ड जोड़ें
PUT/api/domains/{id}/records/{record_id}DNS रिकॉर्ड अपडेट करें
DELETE/api/domains/{id}/records/{record_id}DNS रिकॉर्ड हटाएं

उदाहरण

डोमेन

# प्रमाणित उपयोगकर्ता के डोमेन की सूची प्राप्त करेंcurl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

# डोमेन जोड़ेंcurl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"fqdn": "example.com"}'

# डोमेन हटाएंcurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

DNS रिकॉर्ड

# DNS रिकॉर्ड जोड़ेंcurl -s https://ns.nrnic.com/api/domains/123/records \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "@", "content": "192.0.2.1", "ttl": 3600}'

# DNS रिकॉर्ड अपडेट करेंcurl -s -X PUT https://ns.nrnic.com/api/domains/123/records/456 \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "@", "content": "192.0.2.2", "ttl": 3600}'

# DNS रिकॉर्ड हटाएंcurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

DNS रिकॉर्ड के फ़ील्ड

typeरिकॉर्ड प्रकार। A, AAAA, CNAME, MX, TXT, NS, SRV, CAA में से कोई एक।
nameहोस्ट नाम (सबडोमेन भाग)। ज़ोन एपेक्स के लिए "@" का उपयोग करें।
contentरिकॉर्ड का मान (IP पता, लक्ष्य होस्ट नाम आदि)।
ttlसेकंड में TTL, 60–604800। छोड़ने पर डिफ़ॉल्ट 3600 होता है।
priorityMX/SRV रिकॉर्ड की प्राथमिकता (0–65535)।
weightSRV रिकॉर्ड का भार (0–65535)।
portSRV रिकॉर्ड का पोर्ट नंबर (0–65535)।