दस्तावेज़ पर जाएँ
API

DNS कनेक्शन

वर्कस्पेस से जुड़े DNS प्रदाता अकाउंट, जिनके ज़रिए OpenEmail किसी डोमेन के रिकॉर्ड ख़ुद लिखता है। अकाउंट ऐप में जोड़ा जाता है, क्योंकि प्रदाता व्यक्ति से साइन इन करने को कहता है।

GET/dns-connections

3 कॉल में से कोई भी आपके वर्कस्पेस पर चलाता है।

GET /dns-connections

वर्कस्पेस से जुड़े DNS प्रदाता अकाउंट, जिनके ज़रिए OpenEmail किसी डोमेन के रिकॉर्ड ख़ुद लिखता है। अकाउंट ऐप में जोड़ा जाता है, क्योंकि प्रदाता व्यक्ति से साइन इन करने को कहता है।

कनेक्शनों की सूची

domains:read चाहिए। हर कनेक्शन, डिस्कनेक्ट हो चुके कनेक्शन समेत, साथ में वे डोमेन जिन्हें हर एक सेवा देता है। जब यह सर्वर किसी प्रदाता को जोड़ ही नहीं सकता, तब configured false होता है।

curl
curl "$OE/dns-connections" -H "$AUTH"
प्रतिक्रिया
{  "object": "list",  "configured": true,  "data": [    {      "object": "dns_connection",      "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d",      "provider": "cloudflare",      "subject": "[email protected]",      "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }],      "status": "active",      "lastVerifiedAt": "2026-09-30T08:00:00.000Z",      "lastError": null,      "createdAt": "2026-09-01T10:12:00.000Z",      "domains": [        {          "domainId": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f",          "domain": "acme.com",          "zoneId": "023e105f4ecef8ad9ca31a8372d0c353",          "zoneName": "acme.com",          "state": "ready",          "records": 7,          "keepsMail": true,          "busy": false        }      ],      "records": 7,      "removable": false    }  ]}

status तब तक active होता है जब तक OpenEmail कनेक्शन के ज़रिए लिख सकता है, needs-reauth जब प्रदाता चाहता है कि ऐप में अकाउंट फिर से जोड़ा जाए, revoked जब वह डिस्कनेक्ट हो चुका हो और error जब आख़िरी कॉल विफल रही हो।

एक कनेक्शन पढ़ें

domains:read चाहिए। GET /dns-connections/{id} यह भी जोड़ता है कि उसे डिस्कनेक्ट करने पर क्या पीछे छूटेगा: busy उन डोमेन के नाम बताता है जिन पर सिंक चल रहा है, और keepsMail उन सत्यापित डोमेन के जो अपने रिकॉर्ड हटते ही मेल पाना बंद कर देते हैं।

curl
curl "$OE/dns-connections/dnsl_3f9a1c2e7b4d4e6f8a0b2c3d" -H "$AUTH"
प्रतिक्रिया
{  "object": "dns_connection",  "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d",  "provider": "cloudflare",  "subject": "[email protected]",  "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }],  "status": "active",  "lastVerifiedAt": "2026-09-30T08:00:00.000Z",  "lastError": null,  "createdAt": "2026-09-01T10:12:00.000Z",  "domains": [    {      "domainId": "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f",      "domain": "acme.com",      "zoneId": "023e105f4ecef8ad9ca31a8372d0c353",      "zoneName": "acme.com",      "state": "ready",      "records": 7,      "keepsMail": true,      "busy": false    }  ],  "records": 7,  "removable": false,  "busy": [],  "keepsMail": ["acme.com"]}

कनेक्शन डिस्कनेक्ट करें

domains:write चाहिए। DELETE /dns-connections/{id} कनेक्शन के ज़रिए लिखे गए रिकॉर्ड हटाता है, जिन डोमेन को वह सेवा देता है उन सबको अलग करता है और प्रदाता पर उसे रद्द कर देता है। जिस सत्यापित डोमेन के रिकॉर्ड हटते हैं वह मेल पाना बंद कर देता है, इसलिए पहले कनेक्शन पढ़ें।

curl
curl -X DELETE "$OE/dns-connections/dnsl_3f9a1c2e7b4d4e6f8a0b2c3d" -H "$AUTH"
प्रतिक्रिया
{  "object": "dns_connection",  "id": "dnsl_3f9a1c2e7b4d4e6f8a0b2c3d",  "provider": "cloudflare",  "subject": "[email protected]",  "accounts": [{ "id": "4f1c2b3a5d6e7f8091a2b3c4d5e6f708", "name": "Acme" }],  "status": "revoked",  "lastVerifiedAt": "2026-09-30T08:00:00.000Z",  "lastError": null,  "createdAt": "2026-09-01T10:12:00.000Z",  "removed": false,  "confirmed": true,  "detached": { "domains": 1, "detached": 1, "removed": 7, "rewritten": 0, "pending": 0, "left": [] }}

पहले से डिस्कनेक्ट हो चुके कनेक्शन को हटाने पर, जब उस पर कोई डोमेन और कोई रिकॉर्ड न बचा हो, वह सूची से हट जाता है, और removed true होता है। उस पर अब भी कुछ होने पर कॉल 409 dns_connection_in_use होती है।

अगर उसके किसी डोमेन पर सिंक चल रहा हो, तो अनुरोध 409 dns_busy के साथ मना कर दिया जाता है, और कुछ भी रद्द नहीं होता।

कुछ ख़ास पतों या डोमेनों तक सीमित कुंजी या ऐप को 422 capability_unsupported के साथ मना किया जाता है, और किसी सदस्य की ओर से काम करने वाले ऐप को उस सदस्य की भूमिका में workspace:manage भी चाहिए।

OAuth एक्सेस टोकन को इस कॉल के लिए सत्यापन कोड चाहिए। जब तक ऐप पिछले 60 मिनट में कोई कोड सत्यापित न कर ले, कॉल 403 step_up_required लौटाती है और कुछ नहीं बदलती। API कुंजी से कभी नहीं पूछा जाता। प्रमाणीकरण पेज बताता है कि कोड कैसे माँगें और सत्यापित करें।

संदर्भ