वेब डैशबोर्ड में जो कुछ भी आप कर सकते हैं (डोमेन जोड़ना और हटाना, DNS रिकॉर्ड प्रबंधित करना), वह सब REST API के ज़रिए प्रोग्राम से भी किया जा सकता है।
सभी एंडपॉइंट JSON में अनुरोध स्वीकार करते हैं और JSON में ही उत्तर देते हैं। प्रमाणीकरण के लिए API कुंजी आवश्यक है (नीचे देखें)। फ़िलहाल पेजिनेशन और अनुरोध-सीमा (रेट लिमिट) नहीं है।
https://ns.nrnic.com/api
API कुंजी आप खाता सेटिंग्स से जनरेट कर सकते हैं। नई जनरेट की गई कुंजी केवल एक बार दिखाई जाती है, इसलिए इसे सुरक्षित स्थान पर सहेजना सुनिश्चित करें।
हर अनुरोध में निम्नलिखित Authorization हेडर शामिल करें:
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
त्रुटि होने पर उत्तर में उपयुक्त 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}/resync | DNS ज़ोन को सभी नेमसर्वर (ns1–ns4) पर दोबारा भेजें |
| POST | /api/domains/{id}/delegation-check | जाँचें कि डोमेन NRNIC को डेलिगेट किया गया है या नहीं |
| GET | /api/domains/{id}/records | डोमेन के DNS रिकॉर्ड की सूची प्राप्त करें |
| POST | /api/domains/{id}/records | DNS रिकॉर्ड जोड़ें |
| 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 रिकॉर्ड जोड़ें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"
| type | रिकॉर्ड प्रकार। A, AAAA, CNAME, MX, TXT, NS, SRV, CAA में से कोई एक। |
| name | होस्ट नाम (सबडोमेन भाग)। ज़ोन एपेक्स के लिए "@" का उपयोग करें। |
| content | रिकॉर्ड का मान (IP पता, लक्ष्य होस्ट नाम आदि)। |
| ttl | सेकंड में TTL, 60–604800। छोड़ने पर डिफ़ॉल्ट 3600 होता है। |
| priority | MX/SRV रिकॉर्ड की प्राथमिकता (0–65535)। |
| weight | SRV रिकॉर्ड का भार (0–65535)। |
| port | SRV रिकॉर्ड का पोर्ट नंबर (0–65535)। |