digna REST API 2026.11¶
digna REST API आपके अपने टूल और पाइपलाइनों को HTTP और JSON के माध्यम से digna के साथ काम करने देता है: प्रोजेक्ट और निरीक्षण परिणाम पढ़ें, डेटा स्रोत, डेटासेट और एट्रिब्यूट प्रबंधित करें, और निरीक्षण शुरू करें, उदाहरण के लिए किसी डेटा लोड के अंत में। Python SDK भी इसी API का उपयोग करता है।
यह पृष्ठ उन बातों को बताता है जो हर अनुरोध में समान होती हैं। संसाधन पृष्ठों पर प्रत्येक एंडपॉइंट उसके पैरामीटर, अनुरोध बॉडी, प्रतिक्रियाओं और स्कीमा के साथ सूचीबद्ध है:
| संसाधन | एंडपॉइंट |
|---|---|
| Projects | प्रोजेक्ट पढ़ें |
| DB Connections | डेटाबेस कनेक्शन पढ़ें |
| Data Sources | डेटा स्रोत बनाएँ, पढ़ें, अपडेट करें और हटाएँ |
| Data Sets | डेटासेट बनाएँ, पढ़ें, अपडेट करें और हटाएँ |
| Attributes | एट्रिब्यूट बनाएँ, पढ़ें, अपडेट करें और हटाएँ |
| Check Definitions | जाँच परिभाषाएँ पढ़ें |
| Inspection Requests | निरीक्षण शुरू करें और उनकी प्रगति पर नज़र रखें |
| Inspection Statuses | प्रोजेक्ट, डेटा स्रोत और डेटासेट के अनुसार निरीक्षण परिणाम पढ़ें |
बेस URL¶
API digna बैकएंड का हिस्सा है। हर पथ बैकएंड के पते के बाद /v1 से शुरू होता है:
बैकएंड का पता वही है जिसका उपयोग डैशबोर्ड करता है, यानी dashboard/dashboard_config.toml के [api] अनुभाग में baseUrl। जब भी कॉल करने वाला और digna एक ही मशीन पर न हों, HTTPS का उपयोग करें, क्योंकि हर अनुरोध एक API कुंजी साथ ले जाता है।
प्रमाणीकरण¶
हर अनुरोध किसी digna उपयोगकर्ता की API कुंजी Authorization हेडर में भेजता है:
कुंजी बनाने के लिए डैशबोर्ड के निचले-बाएँ कोने में अपनी उपयोगकर्ता प्रोफ़ाइल खोलें, API Keys पर क्लिक करें, फिर Add API Key पर, और कुंजी कॉपी करें। यह केवल एक बार दिखाई जाती है। यही कुंजियाँ digna MCP Server के लिए भी काम करती हैं।
अनुरोध कुंजी के उपयोगकर्ता की अनुमतियों के साथ चलता है। बनाने, बदलने और हटाने के लिए प्रोजेक्ट में editor भूमिका आवश्यक है; अन्यथा अनुरोध 403 और संदेश You don't have permission to edit this project के साथ अस्वीकार कर दिया जाता है।
स्वचालन के लिए एक समर्पित उपयोगकर्ता का उपयोग करें
हर एकीकरण के लिए एक digna उपयोगकर्ता बनाएँ, उसे केवल वही प्रोजेक्ट और भूमिकाएँ दें जिनकी उसे आवश्यकता है, और उसकी कुंजी समाप्ति तिथि के साथ बनाएँ। तब आप किसी एक एकीकरण की पहुँच उसकी कुंजी हटाकर रद्द कर सकते हैं, और किसी और पर कोई असर नहीं पड़ता।
अनुरोध भेजना¶
export DIGNA_API_KEY='<api key>'
curl https://digna.example.com/v1/projects -H "Authorization: Bearer $DIGNA_API_KEY"
प्रतिक्रियाएँ JSON में होती हैं। सूचियाँ JSON ऐरे के रूप में लौटाई जाती हैं। अनुरोध बॉडी भी JSON में होती है और Content-Type: application/json के साथ भेजी जाती है।
सीमाएँ और फ़िल्टर¶
सूची वाले एंडपॉइंट अधिकतम limit आइटम लौटाते हैं: डिफ़ॉल्ट रूप से 200, और अधिकतम 5000। इस सीमा से बाहर का मान 400 के साथ अस्वीकार कर दिया जाता है। कोई ऑफ़सेट या पेज टोकन नहीं है, इसलिए इसके बजाय सूची को उसके फ़िल्टरों से सीमित करें, उदाहरण के लिए project_id, data_source_id, या निरीक्षण स्थितियों पर start_date और end_date।
60 सेकंड से अधिक समय लेने वाला अनुरोध 408 Request Timeout के साथ रद्द कर दिया जाता है।
त्रुटियाँ¶
त्रुटि प्रतिक्रिया में एक कोड और एक संदेश वाली JSON बॉडी होती है:
| स्थिति | कोड | अर्थ |
|---|---|---|
400 | BAD_REQUEST | अनुरोध अमान्य है, उदाहरण के लिए limit सीमा से बाहर है |
401 | NOT_AUTHENTICATED | API कुंजी अनुपस्थित, गलत स्वरूप वाली, अज्ञात या समाप्त है |
403 | NOT_AUTHORIZED | कुंजी के उपयोगकर्ता के पास वह भूमिका नहीं है जिसकी इस अनुरोध को आवश्यकता है |
403 | INVALID_LICENSE | digna लाइसेंस समाप्त हो गया है |
404 | NOT_FOUND | प्रोजेक्ट, डेटा स्रोत या कोई अन्य आइटम मौजूद नहीं है |
500 | INTERNAL_ERROR | digna में एक अनपेक्षित त्रुटि। विवरण बैकएंड लॉग में है |
401 का message बताता है कि कुंजी में क्या गलत है:
| संदेश | कारण |
|---|---|
Missing Authorization header | कोई Authorization हेडर नहीं भेजा गया |
Invalid Authorization header format | मान Bearer से शुरू नहीं होता |
Invalid API key | कुंजी गलत है, या उसे हटा दिया गया था |
API key expired | कुंजी समाप्त हो गई है। नई कुंजी बनाएँ |
निरीक्षण चलाना¶
एक सामान्य एकीकरण डेटा लोड पूरा होने पर निरीक्षण शुरू करता है, उसके पूरा होने की प्रतीक्षा करता है, और परिणाम पढ़ता है:
POST /v1/inspection-requestsसे निरीक्षण शुरू करें। प्रतिक्रिया में अनुरोध काidहोता है।GET /v1/inspection-requests/{inspection_request_id}से उसकी प्रगति पर नज़र रखें। उसकाstatusPENDINGसेRUNNINGहोते हुएCOMPLETEDतक जाता है, याFAILED,ABORTEDयाCANCELLEDके रूप में समाप्त होता है। हर कुछ सेकंड में दोबारा पूछें, जब तक कि वह बदलना बंद न कर दे।- निरीक्षण की गई तिथियों के लिए
GET /v1/inspection-statuses/data-sourcesसे परिणाम पढ़ें। हर आइटम की एक समग्रstatusहोती है:0(OK),1(चेतावनी),2(गंभीर) या-1(कोई स्थिति नहीं), और प्रत्येक मॉड्यूल की स्थिति, जिसमें पास हुई, अनिश्चित और विफल जाँचों की संख्या होती है।
curl -X POST https://digna.example.com/v1/inspection-requests \
-H "Authorization: Bearer $DIGNA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"project_id": 1,
"include_all_data_sources": true,
"data_source_ids": [],
"start_date": "2026-11-06",
"end_date": "2026-11-06",
"mode": "DAILY",
"weekly_mode_weekdays": [],
"monthly_mode_days": [],
"use_notification": true
}'
OpenAPI दस्तावेज़¶
हर digna इंस्टॉलेशन इस API का वर्णन एक OpenAPI 3.1 दस्तावेज़ में करता है, और उस पर अनुरोध आज़माने के लिए एक इंटरैक्टिव Swagger UI उपलब्ध कराता है:
| क्या | पता |
|---|---|
| OpenAPI दस्तावेज़ | https://digna.example.com/api-docs/stable/v1/openapi.json |
| Swagger UI | https://digna.example.com/v1/swagger-ui |
Release 2026.11 का दस्तावेज़ यहाँ भी उपलब्ध है: openapi.json। किसी अन्य भाषा में क्लाइंट जनरेट करने के लिए इसका उपयोग करें।
केवल /v1 एंडपॉइंट शामिल हैं
डैशबोर्ड बैकएंड से अन्य, आंतरिक एंडपॉइंट के माध्यम से भी बात करता है। वे इस API का हिस्सा नहीं हैं और किसी भी रिलीज़ में बदल सकते हैं, इसलिए एकीकरण केवल /v1 एंडपॉइंट पर ही बनाएँ।