मुख्य सामग्री पर जाएं

Overview

Didit सबसे अधिक एजेंट-फ़्रेंडली पहचान सत्यापन प्लेटफ़ॉर्म है। AI कोडिंग एजेंट (Cursor, Claude Code, GitHub Copilot, Devin, OpenHands, Codex) प्रोग्रामैटिक रूप से पंजीकरण कर सकते हैं, वर्कफ़्लो कॉन्फ़िगर कर सकते हैं और पहचान सत्यापन शुरू कर सकते हैं, और यह सब बिना कभी ब्राउज़र खोले। एजेंट्स को Didit क्यों पसंद है:
  • शून्य से क्रेडेंशियल तक 2 API कॉल (पंजीकरण + ईमेल सत्यापन)।
  • कोई ब्राउज़र ज़रूरी नहीं: पूरी तरह हेडलेस, CI/CD और एजेंट वर्कफ़्लो के लिए आदर्श।
  • नए API खाते पर कोई दूसरा फ़ैक्टर नहीं: ईमेल सत्यापन के तुरंत बाद token लौटा दिए जाते हैं।
  • स्वतः प्रावधानित संगठन और एप्लिकेशन, सत्यापन रिस्पॉन्स में api_key के साथ।
  • पूरा मैनेजमेंट API: वर्कफ़्लो, प्रश्नावलियाँ, सूचियाँ, बिलिंग, सब कुछ API के ज़रिए कॉन्फ़िगर करें।
  • MCP सर्वर उपलब्ध है: एजेंट Didit टूल्स को स्वाभाविक रूप से खोज और इस्तेमाल कर सकते हैं।
पूरा कॉन्ट्रैक्ट openapi-auth.json पर प्रकाशित है; नीचे दिए गए endpoint उसके विरुद्ध ऑडिट किए गए हैं।

बेस URL

इस गाइड के सभी endpoint auth होस्ट पर हैं:
यह सत्यापन API (https://verification.didit.me/v3) से अलग होस्ट है। auth होस्ट JWT एक्सेस token जारी करता है और एप्लिकेशन प्रबंधित करता है। सत्यापन होस्ट सत्र, AML, वर्कफ़्लो आदि चलाता है, और उसे इस फ़्लो से मिलने वाली लंबी-अवधि की api_key से प्रमाणित किया जाता है।

त्वरित शुरुआत

वास्तविक, जिस पर ईमेल पहुँच सके, ऐसा ईमेल पता इस्तेमाल करें। यह endpoint सत्यापन कोड सिंक्रोनस रूप से भेजता है, इसलिए आरक्षित टेस्ट डोमेन (@example.com, @example.org, @*.test, @*.example, @*.invalid) मेल डिलीवरी द्वारा अस्वीकार कर दिए जाते हैं और कॉल 500 लौटाती है। नीचे दिए गए you@yourdomain.com प्लेसहोल्डर की जगह ऐसा इनबॉक्स लगाएँ जिसे आप पढ़ सकें।

चरण 1: पंजीकरण

रिस्पॉन्स (201 Created):
6 अक्षरों वाला अल्फ़ान्यूमेरिक सत्यापन कोड (उदा. A3K9F2) पते पर ईमेल किया जाता है। कोड भेजे जाने के 10 मिनट बाद समाप्त हो जाता है। यदि वह समाप्त हो जाए, तो वही ईमेल और पासवर्ड लेकर यह endpoint दोबारा कॉल करें: जो खाता अभी सत्यापित नहीं हुआ है, उसके लिए यह 200 और "A new verification code has been sent to your email." तथा एक नया कोड लौटाता है। एक समर्पित POST /programmatic/resend-otp/ endpoint (body: {"email", "password"}) भी कोड दोबारा भेजता है, जिसमें हर भेजने के बीच 60 सेकंड का कूलडाउन होता है; ये दोनों रूट नीचे दी गई पंजीकरण रेट लिमिट साझा करते हैं।

चरण 2: कोड सत्यापित करें और क्रेडेंशियल प्राप्त करें

रिस्पॉन्स (200 OK):
अब आपके पास आवश्यक सब कुछ है। application.api_key को सुरक्षित रूप से सहेजें और हर सत्यापन API कॉल पर इसे x-api-key हेडर में भेजें।
Token RS256-साइन किए गए JWT होते हैं। expires_in का डिफ़ॉल्ट 86400 सेकंड (24 घंटे) है। एक्सेस token केवल apx.didit.me/auth/v2 पर मैनेजमेंट endpoint के लिए ज़रूरी है; verification.didit.me/v3 पर सत्यापन API ट्रैफ़िक लंबी-अवधि की api_key से प्रमाणित होता है, JWT से नहीं।

चरण 3: API का उपयोग करें

बाद के लॉगिन

किसी भी भविष्य की मशीन से, अपना ईमेल और पासवर्ड देकर नया JWT प्राप्त करें:
यह बिना ब्राउज़र के सीधे access_token + refresh_token लौटाता है। इसके बाद GET /organizations/me/ कॉल करके अपना org_id (संगठन का uuid) पता करें, फिर GET /organizations/me/{org_id}/applications/ से संगठन के एप्लिकेशन की सूची लें (हर प्रविष्टि का uuid एक app_id है), और अंत में GET /organizations/me/{org_id}/applications/{app_id}/ से api_key प्राप्त करें।
कंसोल में बनाए गए ईमेल/पासवर्ड खाते भी ईमेल सत्यापित होने के बाद POST /programmatic/login/ इस्तेमाल कर सकते हैं। केवल OAuth से बने कंसोल खातों को इस हेडलेस लॉगिन endpoint से पहले पासवर्ड सेट करना होगा।

जब लॉगिन के लिए अतिरिक्त जानकारी माँगी जाए

POST /programmatic/login/ token तभी लौटाता है जब खाते में कोई दूसरा फ़ैक्टर न हो। तीन अन्य उत्तर संभव हैं, और लॉगिन की स्क्रिप्ट लिखने वाले एजेंट को इन्हें संभालना चाहिए: API कुंजी को किसी लॉगिन की ज़रूरत नहीं होती, इसलिए स्वचालित कामों के लिए इसका उपयोग करें: दूसरे फ़ैक्टर वाला खाता इस endpoint से साइन-इन पूरा नहीं कर सकता।

पासवर्ड की आवश्यकताएँ

सर्वर-साइड पर लागू होती हैं, एक समय में एक नियम। पहली विफलता बाकी जाँच रोक देती है और ["Password must contain at least one uppercase letter."] जैसी बेयर-एरे त्रुटि लौटाती है। (इस endpoint की अन्य सत्यापन त्रुटियाँ फ़ील्ड-कीड {"password": [...]} एनवेलप का उपयोग करती हैं। पासवर्ड-मज़बूती नियमों पर बेयर-एरे आकार एक ज्ञात सर्वर-साइड असंगति है; क्लाइंट कोड में इसे {"password": [...]} मानें।)

रेट लिमिट और लॉकआउट

तीन स्वतंत्र नियंत्रण ऑथ होस्ट की रक्षा करते हैं। इनमें से कोई भी 429 रिस्पॉन्स ट्रिगर कर सकता है; Retry-After रिस्पॉन्स हेडर बताता है कि आपको कितनी देर रुकना है। 429 के रिस्पॉन्स बॉडी का स्वरूप ऐसा होता है:
सत्यापन API की रेट लिमिट (जैसे 600 सत्र/मिनट) इनसे स्वतंत्र हैं और रेट लिमिटिंग में दस्तावेज़ित हैं।

एप्लिकेशन प्रबंधन

प्रमाणीकरण के बाद, आप अपने संगठन के भीतर एप्लिकेशन प्राप्त, बना या अपडेट कर सकते हैं। यह रीसेलर के लिए बिल्कुल उपयुक्त है जो हर ग्राहक के लिए एक एप्लिकेशन चाहते हैं। हर एप्लिकेशन का अपना client_id, api_key, मेटाडेटा और सेटिंग्स होते हैं। यह तब भी उपयोगी है जब आपके संगठन में अलग-अलग उत्पाद, ब्रांड, क्षेत्र, एनवायरनमेंट या उपयोग के मामले हों जिन्हें आप अलग रखना चाहते हैं।
एप्लिकेशन की सूची देखने, बनाने या अपडेट करने के लिए उपयोगकर्ता का लक्ष्य संगठन का owner या admin होना ज़रूरी है; अन्यथा रिस्पॉन्स 403 होगा।

पंजीकरण के बाद एजेंट क्या कर सकते हैं?

api_key के साथ, एजेंटों के पास सत्यापन API तक पूरी पहुँच होती है। https://verification.didit.me/v3 पर ऑडिट किए गए पाथ: पूरी सूची के लिए Management API संदर्भ देखें।

MCP सर्वर इंटीग्रेशन

सबसे अच्छा एजेंट अनुभव पाने के लिए, https://mcp.didit.me/mcp पर होस्टेड Didit MCP सर्वर का उपयोग करें। इसके लिए API कुंजी की ज़रूरत नहीं है: पहली बार कनेक्ट करने पर आपका क्लाइंट एक ब्राउज़र खोलता है, आप Didit के साथ लॉग इन करें विकल्प चुनते हैं (PKCE के साथ OAuth 2.1), और सर्वर आपकी कंसोल भूमिका की अनुमतियों के साथ आपकी ओर से काम करता है। जिन क्लाइंट में नेटिव रिमोट MCP सपोर्ट है (Cursor, VS Code), वे इस एंट्री का उपयोग करते हैं; Claude वेब और Desktop इसे कस्टम कनेक्टर के रूप में जोड़ते हैं:
Claude Code: claude mcp add --transport http didit https://mcp.didit.me/mcp। जो क्लाइंट केवल stdio समझते हैं (Windsurf, Zed), वे mcp-remote ब्रिज के ज़रिए जाते हैं, जो आपके लिए OAuth फ़्लो चलाता है। ऊपर पंजीकरण फ़्लो से मिली API कुंजी आपके अपने बैकएंड से REST API कॉल करने के लिए है; MCP इसका उपयोग कभी नहीं करता। विवरण के लिए MCP अवलोकन और प्रति-क्लाइंट इंस्टॉलेशन देखें।

त्रुटि एनवेलप संदर्भ

सभी apx.didit.me/auth/v2 एंडपॉइंट एक ही तीन रिस्पॉन्स संरचनाएँ साझा करते हैं (देखें openapi-auth.json):
  • फ़ील्ड स्तर पर सत्यापन: {"field": ["message", ...]} के साथ HTTP 400।
  • फ़ॉर्म स्तर पर सत्यापन (विशेषकर पासवर्ड की मज़बूती और सत्यापन कोड की त्रुटियाँ): HTTP 400 के साथ ["Invalid or expired verification code."] जैसी सादी सरणी।
  • प्रमाणीकरण / व्यावसायिक नियम: {"detail": "..."} के साथ 400, 401, 403, 404, या 429। 429 रिस्पॉन्स में Retry-After रिस्पॉन्स हेडर होता है, जो बताता है कि आपको कितनी देर रुकना है (बॉडी में केवल detail होता है)।
सत्यापन होस्ट त्रुटियाँ {"detail": "..."} के रूप में लौटाता है, और 429 में X-RateLimit-* और Retry-After शामिल होते हैं; देखें रेट लिमिटिंग।
अंतिम संशोधन 7 नवंबर 2026