कॉन्फ़िगरेशन प्रबंधन
ईमेल कॉन्फ़िगरेशन प्राप्त करें - /api/configuration/email
-
एंडपॉइंट:
/api/configuration/email -
विधि: GET
-
विवरण: वर्तमान ईमेल सूचना कॉन्फ़िगरेशन और यह जांचता है कि क्या ईमेल सूचनाएं सक्षम/कॉन्फ़िगर की गई हैं।
-
प्रमाणीकरण: मान्य सत्र और CSRF टोकन की आवश्यकता है
-
प्रतिक्रिया (कॉन्फ़िगर किया गया):
{"configured": true,"config": {"host": "smtp.example.com","port": 465,"connectionType": "ssl","username": "user@example.com","mailto": "admin@example.com","senderName": "duplistatus","fromAddress": "user@example.com","requireAuth": true,"hasPassword": true},"message": "Email is configured and ready to use."} -
प्रतिक्रिया (कॉन्फ़िगर नहीं है):
{"configured": false,"config": null,"message": "Email is not configured. Please configure SMTP settings."} -
त्रुटि प्रतिक्रियाएं:
400: मास्टर कुंजी अमान्य है - सभी एन्क्रिप्टेड पासवर्ड और सेटिंग्स को पुनः कॉन्फ़िगर करना होगा401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: ईमेल कॉन्फ़िगरेशन प्राप्त करने में विफल
-
नोट:
- सुरक्षा के लिए पासवर्ड के बिना कॉन्फ़िगरेशन लौटाता है
- पासवर्ड सेट है या नहीं इंगित करने के लिए
hasPasswordफ़ील्ड शामिल करता है connectionType(plain|starttls|ssl),senderName,fromAddress, औरrequireAuthफ़ील्ड शामिल करता है- यह इंगित करता है कि जांच और उत्पादन उपयोग के लिए ईमेल सूचनाएं उपलब्ध हैं
- मास्टर कुंजी सत्यापन त्रुटियों को सुचारु रूप से संभालता है
ईमेल कॉन्फ़िगरेशन अपडेट करें - /api/configuration/email
-
एंडपॉइंट:
/api/configuration/email -
विधि: POST
-
विवरण: SMTP ईमेल सूचना कॉन्फ़िगरेशन अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"host": "smtp.example.com","port": 465,"secure": true,"username": "user@example.com","password": "password","mailto": "admin@example.com"} -
प्रतिक्रिया:
{"success": true,"message": "SMTP configuration saved successfully"} -
त्रुटि प्रतिक्रियाएं:
400: आवश्यक फ़ील्ड गुम हैं या अमान्य पोर्ट संख्या401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: SMTP कॉन्फ़िगरेशन सहेजने में विफल
-
नोट:
- सभी फ़ील्ड (होस्ट, पोर्ट, उपयोगकर्ता नाम, पासवर्ड, मेलटू) आवश्यक हैं
- पोर्ट 1 और 65535 के बीच एक मान्य संख्या होनी चाहिए
- सुरक्षित फ़ील्ड बूलियन है (SSL/TLS के लिए सही)
- पासवर्ड को पासवर्ड एंडपॉइंट के माध्यम से अलग से प्रबंधित किया जाता है
ईमेल कॉन्फ़िगरेशन हटाएं - /api/configuration/email
-
एंडपॉइंट:
/api/configuration/email -
विधि: DELETE
-
विवरण: SMTP ईमेल सूचना कॉन्फ़िगरेशन हटाता है।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन की आवश्यकता है
-
प्रतिक्रिया:
{"success": true,"message": "SMTP configuration deleted successfully"} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन404: हटाने के लिए कोई SMTP कॉन्फ़िगरेशन नहीं मिला500: SMTP कॉन्फ़िगरेशन हटाने में विफल
-
नोट:
- यह ऑपरेशन स्थायी रूप से SMTP कॉन्फ़िगरेशन निकालता है
- यदि कोई कॉन्फ़िगरेशन मौजूद नहीं है तो 404 लौटाता है
- दैनिक सारांश मोड सक्षम होने पर 400 लौटाता है, क्योंकि उस मोड को SMTP की आवश्यकता होती है
ईमेल पासवर्ड अपडेट करें - /api/configuration/email/password
-
एंडपॉइंट:
/api/configuration/email/password -
विधि: PATCH
-
विवरण: SMTP प्रमाणीकरण के लिए ईमेल पासवर्ड अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"password": "new-password","config": {"host": "smtp.example.com","port": 465,"secure": true,"username": "user@example.com","mailto": "admin@example.com"}} -
प्रतिक्रिया:
{"message": "Email password updated successfully"} -
त्रुटि प्रतिक्रियाएं:
400: पासवर्ड एक स्ट्रिंग होना चाहिए या आवश्यक कॉन्फ़िगरेशन फ़ील्ड गुम हैं401: अनधिकृत - अमान्य सत्र या CSRF टोकन500: ईमेल पासवर्ड अपडेट करने में विफल
-
नोट:
- पासवर्ड को साफ़ करने के लिए एक खाली स्ट्रिंग हो सकता है
- यदि कोई SMTP कॉन्फ़िगरेशन मौजूद नहीं है, तो प्रदान किए गए कॉन्फ़िगरेशन से एक न्यूनतम बनाता है
- जब कोई मौजूदा SMTP कॉन्फ़िगरेशन मौजूद नहीं होता है तो कॉन्फ़िगरेशन पैरामीटर आवश्यक होता है
- पासवर्ड को एन्क्रिप्शन का उपयोग करके सुरक्षित रूप से संग्रहीत किया जाता है
ईमेल पासवर्ड CSRF टोकन प्राप्त करें - /api/configuration/email/password
-
एंडपॉइंट:
/api/configuration/email/password -
विधि: GET
-
विवरण: ईमेल पासवर्ड ऑपरेशन के लिए एक CSRF टोकन प्राप्त करता है।
-
प्रमाणीकरण: मान्य सत्र की आवश्यकता है
-
प्रतिक्रिया:
{"csrfToken": "csrf-token-string"} -
त्रुटि प्रतिक्रियाएँ:
401: अमान्य या समाप्त सत्र500: CSRF टोकन उत्पन्न करने में विफल
-
नोट:
- पासवर्ड अपडेट ऑपरेशन के साथ उपयोग के लिए CSRF टोकन लौटाता है
- टोकन उत्पन्न करने के लिए सत्र मान्य होना चाहिए
एकीकृत कॉन्फ़िगरेशन प्राप्त करें - /api/configuration/unified
-
एंडपॉइंट:
/api/configuration/unified -
विधि: GET
-
विवरण: सभी कॉन्फ़िगरेशन डेटा सहित एक एकीकृत कॉन्फ़िगरेशन ऑब्जेक्ट प्राप्त करता है जिसमें क्रॉन सेटिंग्स, सूचना आवृत्ति, और बैकअप के साथ सर्वर शामिल हैं।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन की आवश्यकता है
-
प्रतिक्रिया:
{"ntfy": {"url": "https://ntfy.sh","topic": "duplistatus-notifications","accessToken": ""},"templates": {"language": "en-GB","success": {"title": "✅ {status} - {backup_name} @ {server_name}","message": "Backup {backup_name} on {server_name} completed with status '{status}' at {backup_date} in {duration}.","priority": "default","tags": "duplicati, duplistatus, success"},"warning": {"title": "⚠️ {status} - {backup_name} @ {server_name}","message": "Backup {backup_name} on {server_name} completed with status '{status}' at {backup_date}.","priority": "high","tags": "duplicati, duplistatus, warning, error"},"overdueBackup": {"title": "🕑 Overdue - {backup_name} @ {server_name}","message": "The backup {backup_name} is overdue on {server_name}.","priority": "default","tags": "duplicati, duplistatus, overdue"},"dailySummary": {"email": {"title": "Daily Backup Summary — {summary_date} — ✅ {success_count} Success, ⚠️ {warning_count} Warning, 🕑 {overdue_count} Overdue, 🛑 {error_count} Error, ❌ {fatal_count} Fatal","message": "## Daily backup summary"}}},"email": {"host": "smtp.example.com","port": 465,"connectionType": "ssl","username": "user@example.com","mailto": "admin@example.com","senderName": "duplistatus","fromAddress": "user@example.com","requireAuth": true,"hasPassword": true},"overdue_tolerance": "2h","backup_settings": {"server1:backup1": {"notificationEvent": "all","expectedInterval": 24,"overdueBackupCheckEnabled": true,"intervalUnit": "hours","expectedBackupDate": "2025-02-07T00:00:00.000Z","lastBackupDate": "2025-02-06T00:00:00.000Z"}},"serverAddresses": [{"id": "server1","name": "Server 1","server_url": "http://localhost:8200"}],"cronConfig": {"cronExpression": "*/20 * * * *","enabled": true},"notificationFrequency": "every_day","serversWithBackups": [{"id": "server1","name": "Server 1","backupName": "backup1","server_url": "http://localhost:8200","alias": "My Server","note": "Primary backup server","hasPassword": true,"expectedBackupDate": "2025-02-07T00:00:00.000Z","lastBackupDate": "2025-02-06T00:00:00.000Z"}]} -
त्रुटि प्रतिक्रियाएं:
500: संगठित कॉन्फ़िगरेशन प्राप्त करने में सर्वर त्रुटि
-
नोट्स:
- एकल प्रतिक्रिया में सभी कॉन्फ़िगरेशन डेटा लौटाता है
- क्रॉन सेटिंग्स, सूचना आवृत्ति और बैकअप वाले सर्वर शामिल करता है
- ईमेल कॉन्फ़िगरेशन में
hasPasswordफ़ील्ड शामिल है लेकिन वास्तविक पासवर्ड नहीं - बेहतर प्रदर्शन के लिए सभी डेटा को समानांतर में प्राप्त करता है
एनटीएफाई कॉन्फ़िगरेशन प्राप्त करें - /api/configuration/ntfy
-
एंडपॉइंट:
/api/configuration/ntfy -
विधि: GET
-
विवरण: वर्तमान एनटीएफाई कॉन्फ़िगरेशन सेटिंग्स पुनः प्राप्त करता है।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन की आवश्यकता है
-
प्रतिक्रिया:
{"ntfy": {"url": "https://ntfy.sh","topic": "duplistatus-notifications","accessToken": "optional-access-token"}} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या सीएसआरएफ़ टोकन500: एनटीएफाई कॉन्फ़िगरेशन प्राप्त करने में विफल
-
नोट्स:
- वर्तमान एनटीएफाई कॉन्फ़िगरेशन सेटिंग्स लौटाता है
- अधिसूचना प्रणाली प्रबंधन के लिए उपयोग किया जाता है
- कॉन्फ़िगरेशन डेटा तक पहुंच के लिए प्रमाणीकरण की आवश्यकता है
अधिसूचना कॉन्फ़िगरेशन प्राप्त करें - /api/configuration/notifications
-
एंडपॉइंट:
/api/configuration/notifications -
विधि: GET
-
विवरण: वर्तमान अधिसूचना आवृत्ति कॉन्फ़िगरेशन पुनः प्राप्त करता है।
-
प्रमाणीकरण: वैध सत्र और CSRF टोकन की आवश्यकता है
-
प्रतिक्रिया:
{"value": "every_day"} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या सीएसआरएफ़ टोकन500: कॉन्फ़िगरेशन प्राप्त करने में विफल
-
नोट्स:
- वर्तमान अधिसूचना आवृत्ति कॉन्फ़िगरेशन पुनः प्राप्त करता है
- अतिदेय बैकअप अधिसूचना प्रबंधन के लिए उपयोग किया जाता है
- इनमें से एक लौटाता है:
"onetime","every_day","every_week","every_month"
अधिसूचना कॉन्फ़िगरेशन अपडेट करें - /api/configuration/notifications
-
एंडपॉइंट:
/api/configuration/notifications -
विधि: POST
-
विवरण: अधिसूचना कॉन्फ़िगरेशन (एनटीएफाई सेटिंग्स या अधिसूचना आवृत्ति) अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ़ टोकन की आवश्यकता है
-
अनुरोध निकाय: एनटीएफाई कॉन्फ़िगरेशन के लिए:
{"ntfy": {"enabled": true,"url": "https://ntfy.sh","topic": "duplistatus-notifications","accessToken": "optional-access-token"}}
अधिसूचना आवृत्ति के लिए:
{
"value": "every_week"
}
-
प्रतिक्रिया: एनटीएफाई कॉन्फ़िगरेशन के लिए:
{"message": "Notification config updated successfully","ntfy": {"enabled": true,"url": "https://ntfy.sh","topic": "duplistatus-notifications","accessToken": "optional-access-token"}}
अधिसूचना आवृत्ति के लिए:
{
"value": "every_week"
}
- उपलब्ध मान:
"onetime","every_day","every_week","every_month" - त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या सीएसआरएफ़ टोकन400: एनटीएफाई कॉन्फ़िगरेशन आवश्यक है या अमान्य मान500: अधिसूचना कॉन्फ़िगरेशन अपडेट करने में सर्वर त्रुटि
- नोट्स:
- एनटीएफाई कॉन्फ़िगरेशन और अधिसूचना आवृत्ति अपडेट दोनों का समर्थन करता है
- केवल एनटीएफाई कॉन्फ़िगरेशन अपडेट करता है जब एनटीएफाई फ़ील्ड प्रदान की गई हो
- अधिसूचना आवृत्ति अपडेट करता है जब मान फ़ील्ड प्रदान की गई हो
- कोई भी प्रदान नहीं किया गया हो तो डिफ़ॉल्ट विषय उत्पन्न करता है
- मौजूदा कॉन्फ़िगरेशन सेटिंग्स को संरक्षित रखता है
- अलग उपयोगकर्ता नाम/पासवर्ड फ़ील्ड के बजाय
accessTokenफ़ील्ड का उपयोग करता है - अनुमत विकल्पों के खिलाफ अधिसूचना आवृत्ति मान को मान्य करता है
- यह निर्धारित करता है कि अतिदेय अधिसूचनाएं कितनी बार भेजी जाती हैं
बैकअप सेटिंग्स अपडेट करें - /api/configuration/backup-settings
-
एंडपॉइंट:
/api/configuration/backup-settings -
विधि: POST
-
विवरण: विशिष्ट सर्वर/बैकअप के लिए बैकअप अधिसूचना सेटिंग्स अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"backupSettings": {"Server Name:Backup Name": {"notificationEvent": "all","expectedInterval": 24,"overdueBackupCheckEnabled": true,"intervalUnit": "hours"}}} -
प्रतिक्रिया:
{"message": "Backup settings updated successfully"} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या सीएसआरएफ़ टोकन400: बैकअप सेटिंग्स आवश्यक है500: बैकअप सेटिंग्स अपडेट करने में सर्वर त्रुटि
-
नोट्स:
- विशिष्ट सर्वर/बैकअप के लिए बैकअप अधिसूचना सेटिंग्स अपडेट करता है
- अक्षम बैकअप के लिए अतिदेय बैकअप अधिसूचनाओं की सफाई करता है
- टाइमआउट सेटिंग्स में परिवर्तन होने पर अधिसूचनाएं साफ़ करता है
अधिसूचना टेम्पलेट अपडेट करें - /api/configuration/templates
-
एंडपॉइंट:
/api/configuration/templates -
विधि: POST
-
विवरण: अधिसूचना टेम्पलेट अपडेट करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"templates": {"success": {"title": "✅ {status} - {backup_name} @ {server_name}","message": "Backup {backup_name} on {server_name} completed with status '{status}' at {backup_date} in {duration}.","priority": "default","tags": "duplicati, duplistatus, success"}}} -
प्रतिक्रिया:
{"message": "Notification templates updated successfully"} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या सीएसआरएफ़ टोकन400: टेम्पलेट आवश्यक हैं500: अधिसूचना टेम्पलेट अपडेट करने में सर्वर त्रुटि
-
नोट्स:
- विभिन्न बैकअप स्थितियों के लिए अधिसूचना टेम्पलेट अपडेट करता है
- मौजूदा कॉन्फ़िगरेशन सेटिंग्स को संरक्षित रखता है
- टेम्पलेट मार्कडाउन ईमेल निकाय और
{placeholder}प्रतिस्थापन का समर्थन करते हैं - एक
dailySummaryईमेल टेम्पलेट (विषय और मार्कडाउन निकाय) आवश्यक है
दैनिक सारांश - /api/configuration/daily-summary
- एंडपॉइंट:
/api/configuration/daily-summary - विधि: GET, POST
- विवरण: दैनिक सारांश मोड को पढ़ता है या अद्यतन करता है। GET सैनिटाइज़ की गई सेटिंग्स, डिस्पैचर स्वास्थ्य, अगली घटना और ईमेल डिलीवरी स्थिति लौटाता है। POST
enabled,utcTime(HH:mmUTC),timeZone(अंतिम सहेज से ब्राउज़र IANA समय क्षेत्र), वैकल्पिकpublicUrl, और वैकल्पिकsmtpRecipient(खाली ईमेल सेटिंग्स SMTP प्राप्तकर्ता का उपयोग करता है) सहेजता है। सक्षम करने के लिए वैध SMTP की आवश्यकता होती है।utcTimeको बदलने सेdaily-summary-dispatchकोminute hour * * *UTC पर अद्यतन किया जाता है और क्रॉन सेवा को पुनः लोड किया जाता है। अगली भविष्य घटना निर्धारित करने के लिए अनुसूची बदलना। - प्रमाणीकरण: GET को एक वैध सत्र और CSRF टोकन की आवश्यकता होती है। POST को एक व्यवस्थापक सत्र और CSRF टोकन की आवश्यकता होती है।
- त्रुटि प्रतिक्रियाएं:
400: अमान्य समय/समय क्षेत्र, अमान्य सार्वजनिक URL, अमान्य SMTP प्राप्तकर्ता या अनुपस्थित SMTP401: अनधिकृत500: दैनिक सारांश को पढ़ने या अद्यतन करने में विफल
दैनिक सारांश भेजें - /api/configuration/daily-summary/send
- एंडपॉइंट:
/api/configuration/daily-summary/send - विधि: POST
- विवरण: तुरंत एक अतिरिक्त वर्तमान-स्थिति स्नैपशॉट भेजता है। अगली निर्धारित घटना का उपभोग नहीं करता है। संग्रहीत SMTP का उपयोग करता है।
daily_summary.smtpRecipientपर भेजता है जब सेट किया जाता है, अन्यथा ईमेल सेटिंग्स प्राप्तकर्ता। अनुरोध में प्राप्तकर्ता पते स्वीकार नहीं करता है। ऑडिट लॉग (सिस्टम) मेंdaily_summary_sentरिकॉर्ड करता है। - प्रमाणीकरण: व्यवस्थापक सत्र और CSRF टोकन की आवश्यकता होती है
दैनिक सारांश पुनः प्रयास करें - /api/configuration/daily-summary/retry
- एंडपॉइंट:
/api/configuration/daily-summary/retry - विधि: POST
- विवरण: स्थायी पेलोड से विफल चैनल पुनः प्रयास करता है। वैकल्पिक शरीर
{ "occurrenceKey": "..." }; अन्यथा नवीनतम विफल ईमेल डिलीवरी को पुनः प्रयास करता है। - प्रमाणीकरण: व्यवस्थापक सत्र और CSRF टोकन की आवश्यकता होती है
दैनिक सारांश पूर्वावलोकन - /api/configuration/daily-summary/preview
- एंडपॉइंट:
/api/configuration/daily-summary/preview - विधि: POST
- विवरण: बिना भेजे और बिना डिलीवरी-लेजर पंक्तियाँ लिखे वर्तमान स्नैपशॉट प्रस्तुत करता है।
- प्रमाणीकरण: वैध सत्र और CSRF टोकन की आवश्यकता होती है
अतिदेय सहिष्णुता प्राप्त करें - /api/configuration/overdue-tolerance
-
एंडपॉइंट:
/api/configuration/overdue-tolerance -
विधि: GET
-
विवरण: वर्तमान अतिदेय सहिष्णुता सेटिंग पुनः प्राप्त करता है।
-
प्रतिक्रिया:
{"overdue_tolerance": "2h"} -
त्रुटि प्रतिक्रियाएं:
500: अतिदेय सहिष्णुता प्राप्त करने में विफल
-
नोट्स:
- वर्तमान अतिदेय सहिष्णुता सेटिंग लौटाता है
- वर्तमान कॉन्फ़िगरेशन प्रदर्शित करने के लिए उपयोग किया जाता है
अतिदेय सहिष्णुता अद्यतन करें - /api/configuration/overdue-tolerance
-
एंडपॉइंट:
/api/configuration/overdue-tolerance -
विधि: POST
-
विवरण: अतिदेय सहिष्णुता सेटिंग अद्यतन करता है।
-
प्रमाणीकरण: मान्य सत्र और सीएसआरएफ टोकन की आवश्यकता है
-
अनुरोध निकाय:
{"overdue_tolerance": "2h"} -
प्रतिक्रिया:
{"message": "Overdue tolerance updated successfully"} -
त्रुटि प्रतिक्रियाएं:
401: अनधिकृत - अमान्य सत्र या CSRF टोकन400: overdue_tolerance आवश्यक है500: अतिदेय सहिष्णुता अद्यतन करने में सर्वर त्रुटि
-
नोट्स:
- अतिदेय सहिष्णुता सेटिंग अद्यतन करता है (
"1h","2h", आदि जैसे स्ट्रिंग प्रारूप स्वीकार करता है; नए इंस्टॉल के लिए डिफ़ॉल्ट2hहै) - जब बैकअप अतिदेय माने जाते हैं तो प्रभावित करता है
- अतिदेय बैकअप चेकर द्वारा उपयोग किया जाता है
- अतिदेय सहिष्णुता सेटिंग अद्यतन करता है (
बाहरी एपीआई सुरक्षा - /api/configuration/external-api-security
-
एंडपॉइंट:
/api/configuration/external-api-security -
विधियां: GET, PATCH
-
विवरण: पढ़ता है या अद्यतन करता है कि क्या बाहरी एपीआई को एक कुंजी की आवश्यकता है, प्लस
/api/uploadआकार और दर सीमाएं। -
प्रमाणीकरण: एडमिन अधिकार, वैध सत्र और CSRF टोकन की आवश्यकता होती है
-
PATCH शरीर:
{"requireApiKey": false,"uploadLimits": {"enabled": true,"maxBytes": 5242880,"perMinute": 20,"perHour": 200}}
आईपी अनुमति सूची - /api/configuration/ip-allowlist
- एंडपॉइंट:
/api/configuration/ip-allowlist - विधियां: GET, PATCH
- विवरण: विश्वसनीय प्रॉक्सी और एडमिन / बाहरी-एपीआई सीआईडीआर अनुमति सूची को पढ़ता है या अद्यतन करता है। एडमिन सूची सक्षम करना विफल हो जाता है जब तक कि वर्तमान क्लाइंट आईपी पहले से सूचीबद्ध न हो (लूपबैक छूट प्राप्त है)।
- प्रमाणीकरण: एडमिन विशेषाधिकार, मान्य सत्र और CSRF टोकन की आवश्यकता है