बाहरी API
ये एंडपॉइंट्स अन्य एप्लिकेशन और एकीकरण द्वारा उपयोग के लिए डिज़ाइन किए गए हैं, उदाहरण के लिए होमपेज। वे CSRF-छूट प्राप्त हैं और सत्र कुकीज़ का उपयोग नहीं करते हैं।
प्रमाणीकरण वैकल्पिक है और डिफ़ॉल्ट रूप से बंद है। जबकि कुंजियाँ वैकल्पिक हैं, क्लाइंट कुंजी को छोड़ सकते हैं या एक भेज सकते हैं: एक मान्य मिलान-स्कोप कुंजी स्वीकार की जाती है और दर्ज की जाती है; एक खराब कुंजी को अनदेखा कर दिया जाता है और अनुरोध अभी भी आगे बढ़ता है। जब API कुंजियाँ में API कुंजियाँ आवश्यक सक्षम होता है, तो कुंजी को ?api_key=, X-Api-Key, या Authorization: Bearer के रूप में भेजें। अपलोड कुंजियाँ केवल POST /api/upload पर काम करती हैं। पढ़ें कुंजियाँ केवल /api/summary और /api/lastbackup* पर काम करती हैं। क्वेरी-स्ट्रिंग कुंजियाँ रिवर्स-प्रॉक्सी एक्सेस लॉग्स में दिखाई देती हैं।
एक IP अनुमति सूची भी इन रूट्स को प्रतिबंधित कर सकती है। /api/health और /api/ping सार्वजनिक रहते हैं जब दोनों सूचियाँ बंद होती हैं; जब कोई भी सूचि सक्षम होती है तो वे एडमिन या बाहरी सूचि से लूपबैक और CIDR स्वीकार करते हैं, और गैर-लूपबैक क्लाइंट्स को दर-सीमित किया जाता है।
समग्र सारांश प्राप्त करें - /api/summary
-
एंडपॉइंट:
/api/summary -
विधि: GET
-
विवरण: सभी सर्वर पर सभी बैकअप संचालनों का एक सारांश पुनः प्राप्त करता है।
-
प्रतिक्रिया:
{"totalServers": 3,"totalBackupsRuns": 9,"totalBackups": 9,"totalUploadedSize": 2397229507,"totalStorageUsed": 43346796938,"totalBackupSize": 126089687807,"overdueBackupsCount": 2,"secondsSinceLastBackup": 7200} -
त्रुटि प्रतिक्रियाएँ:
401: कुंजियाँ आवश्यक होने पर अनुपस्थित या अमान्य API कुंजी403: कुंजी स्कोपreadनहीं है, या क्लाइंट IP बाहरी अनुमति सूची पर नहीं है429: पढ़ें-API दर सीमा पार हो गई500: सारांश डेटा प्राप्त करने में सर्वर त्रुटि
-
नोट्स:
- संस्करण 0.5.x में, फ़ील्ड
totalBackupedSizeकोtotalBackupSizeद्वारा प्रतिस्थापित किया गया था - संस्करण 0.7.x में, फ़ील्ड
totalMachinesकोtotalServersद्वारा प्रतिस्थापित किया गया था - फ़ील्ड
overdueBackupsCountवर्तमान में बकाया बैकअप की संख्या दिखाता है - फ़ील्ड
secondsSinceLastBackupसभी सर्वर पर अंतिम बैकअप के बाद सेकंड में समय दिखाता है - डेटा प्राप्ति विफल होने पर शून्य के साथ फ़ॉलबैक प्रतिक्रिया लौटाता है
- नोट: आंतरिक डैशबोर्ड उपयोग के लिए,
/api/dashboardका उपयोग करने पर विचार करें जिसमें यह डेटा और अतिरिक्त जानकारी शामिल है
- संस्करण 0.5.x में, फ़ील्ड
नवीनतम बैकअप प्राप्त करें - /api/lastbackup/:serverId
- एंडपॉइंट:
/api/lastbackup/:serverId - विधि: GET
- विवरण: एक विशिष्ट सर्वर के लिए नवीनतम बैकअप जानकारी पुनः प्राप्त करता है।
- पैरामीटर:
serverId: सर्वर पहचानकर्ता (ID या नाम)
सर्वर पहचानकर्ता को URL एन्कोड किया जाना चाहिए।
-
प्रतिक्रिया:
{"server": {"id": "unique-server-id","name": "Server Name","backup_name": "Backup Name","backup_id": "backup-id","created_at": "2024-03-20T10:00:00Z"},"latest_backup": {"id": "backup-id","server_id": "unique-server-id","name": "Backup Name","date": "2024-03-20T10:00:00Z","status": "Success","warnings": 0,"errors": 0,"messages": 150,"fileCount": 249426,"fileSize": 113395849938,"uploadedSize": 331318892,"duration": "00:38:31","duration_seconds": 2311.6018052,"durationInMinutes": 38.52669675333333,"knownFileSize": 27203688543,"backup_list_count": 10,"messages_array": ["message1", "message2"],"warnings_array": ["warning1"],"errors_array": [],"available_backups": ["v1", "v2", "v3"]},"status": 200} -
त्रुटि प्रतिक्रियाएँ:
401: कुंजियाँ आवश्यक होने पर अनुपस्थित या अमान्य API कुंजी403: कुंजी स्कोपreadनहीं है, या क्लाइंट IP बाहरी अनुमति सूची पर नहीं है404: सर्वर नहीं मिला429: पढ़ें-API दर सीमा पार हो गई500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- संस्करण 0.7.x में, प्रतिक्रिया ऑब्जेक्ट कुंजी को
machineसेserverमें बदल दिया गया था - सर्वर पहचानकर्ता ID या नाम हो सकता है
- यदि कोई बैकअप मौजूद नहीं है तो latest_backup के लिए null लौटाता है
- कैशे को रोकने के लिए कैशे नियंत्रण हेडर शामिल करता है
- संस्करण 0.7.x में, प्रतिक्रिया ऑब्जेक्ट कुंजी को
नवीनतम बैकअप प्राप्त करें - /api/lastbackups/:serverId
- एंडपॉइंट:
/api/lastbackups/:serverId - विधि: GET
- विवरण: एक विशिष्ट सर्वर पर सभी कॉन्फ़िगर किए गए बैकअप (जैसे 'फ़ाइलें', 'डेटाबेस') के लिए नवीनतम बैकअप जानकारी पुनः प्राप्त करता है।
- पैरामीटर:
serverId: सर्वर पहचानकर्ता (ID या नाम)
सर्वर पहचानकर्ता को URL एन्कोड किया जाना चाहिए।
-
प्रतिक्रिया:
{"server": {"id": "unique-server-id","name": "Server Name","backup_name": "Default Backup","backup_id": "backup-id","created_at": "2024-03-20T10:00:00Z"},"latest_backups": [{"id": "backup1","server_id": "unique-server-id","name": "Files","date": "2024-03-20T10:00:00Z","status": "Success","warnings": 0,"errors": 0,"messages": 150,"fileCount": 249426,"fileSize": 113395849938,"uploadedSize": 331318892,"duration": "00:38:31","duration_seconds": 2311.6018052,"durationInMinutes": 38.52669675333333,"knownFileSize": 27203688543,"backup_list_count": 10,"messages_array": "[\"message1\", \"message2\"]","warnings_array": "[\"warning1\"]","errors_array": "[]","available_backups": ["v1", "v2", "v3"]},{"id": "backup2","server_id": "unique-server-id","name": "Databases","date": "2024-03-20T11:00:00Z","status": "Success","warnings": 1,"errors": 0,"messages": 75,"fileCount": 125000,"fileSize": 56789012345,"uploadedSize": 123456789,"duration": "00:25:15","duration_seconds": 1515.1234567,"durationInMinutes": 25.25205761166667,"knownFileSize": 12345678901,"backup_list_count": 5,"messages_array": ["message1"],"warnings_array": ["warning1"],"errors_array": [],"available_backups": ["v1", "v2"]}],"backup_jobs_count": 2,"backup_names": ["Files", "Databases"],"status": 200} -
त्रुटि प्रतिक्रियाएँ:
401: कुंजियाँ आवश्यक होने पर अनुपस्थित या अमान्य API कुंजी403: कुंजी स्कोपreadनहीं है, या क्लाइंट IP बाहरी अनुमति सूची पर नहीं है404: सर्वर नहीं मिला429: पढ़ें-API दर सीमा पार हो गई500: आंतरिक सर्वर त्रुटि
-
नोट्स:
- संस्करण 0.7.x में, प्रतिक्रिया ऑब्जेक्ट कुंजी को
machineसेserverमें बदल दिया गया था, और फ़ील्डbackup_types_countका नामbackup_jobs_countमें बदल दिया गया था - सर्वर पहचानकर्ता ID या नाम हो सकता है
- सर्वर के पास जो भी बैकअप जॉब (backup_name) है उसके लिए नवीनतम बैकअप लौटाता है
/api/lastbackup/:serverIdके विपरीत जो केवल सर्वर का एकल सबसे हाल का बैकअप लौटाता है (बैकअप जॉब के स्वतंत्र)- कैशे को रोकने के लिए कैशे नियंत्रण हेडर शामिल करता है
- संस्करण 0.7.x में, प्रतिक्रिया ऑब्जेक्ट कुंजी को
बैकअप डेटा अपलोड करें - /api/upload
-
एंडपॉइंट:
/api/upload -
विधि: POST
-
विवरण: एक सर्वर के लिए बैकअप संचालन डेटा अपलोड करता है। डुप्लिकेट बैकअप रन का पता लगाना समर्थन करता है और सूचनाएं भेजता है।
-
अनुरोध निकाय: duplicati द्वारा भेजा गया JSON निम्नलिखित विकल्पों के साथ:
--send-http-json-urls=http://my.local.server:9666/api/upload?api_key=YOUR_UPLOAD_KEY--send-http-log-level=Information--send-http-max-log-lines=500
duplicati के 2.0.9.106 से पुराने संस्करणों पर, `--send-http-url` का उपयोग `--send-http-result-output-format=Json` के साथ करें। देखें [Duplicati सर्वर कॉन्फ़िगरेशन](../installation/duplicati-server-configuration.md)।
- **प्रतिक्रिया**:
```json
{
"success": true
}
- त्रुटि प्रतिक्रियाएं:
400: अतिरिक्त या डेटा अनुभागों में आवश्यक फ़ील्ड अनुपलब्ध हैं, या मुख्यऑपरेशन अमान्य है401: जब कुंजियों की आवश्यकता होती है तो अनुपलब्ध या अमान्य एपीआई कुंजी403: कुंजी स्कोपuploadनहीं है, या क्लाइंट आईपी बाह्य अनुमति सूची पर नहीं है409: डुप्लिकेट बैकअप डेटा (अनदेखा किया गया)413: अनुरोध शरीर कॉन्फ़िगर किए गए अपलोड आकार सीमा (डिफ़ॉल्ट 5 एमबी) से अधिक है429: अपलोड या प्रमाणीकरण विफलता दर सीमा पार हो गई है (Retry-Afterसेट किया गया है)500: बैकअप डेटा को संसाधित करने में सर्वर त्रुटि
- नोट:
- केवल बैकअप ऑपरेशन को प्रक्रिया करता है (मुख्यऑपरेशन "बैकअप" होना चाहिए)
- अतिरिक्त अनुभाग में आवश्यक फ़ील्ड को मान्य करता है: मशीन-आईडी, मशीन-नाम, बैकअप-नाम, बैकअप-आईडी
- डेटा अनुभाग में आवश्यक फ़ील्ड को मान्य करता है: पार्स्डरिजल्ट, बिगिनटाइम, अवधि
- स्वचालित रूप से डुप्लिकेट बैकअप रन का पता लगाता है और 409 स्थिति लौटाता है
- सफल बैकअप सम्मिलन के बाद सूचनाएं भेजता है (यदि कॉन्फ़िगर किया गया हो)
- डीबगिंग के लिए प्रोजेक्ट के मूल में
dataनिर्देशिका में एक फ़ाइल में अनुरोध डेटा लॉग करता है - डेटा स्थिरता के लिए लेनदेन का उपयोग करता है