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

बाहरी 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 का उपयोग करने पर विचार करें जिसमें यह डेटा और अतिरिक्त जानकारी शामिल है

नवीनतम बैकअप प्राप्त करें - /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 लौटाता है
    • कैशे को रोकने के लिए कैशे नियंत्रण हेडर शामिल करता है

नवीनतम बैकअप प्राप्त करें - /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 के विपरीत जो केवल सर्वर का एकल सबसे हाल का बैकअप लौटाता है (बैकअप जॉब के स्वतंत्र)
    • कैशे को रोकने के लिए कैशे नियंत्रण हेडर शामिल करता है

बैकअप डेटा अपलोड करें - /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 निर्देशिका में एक फ़ाइल में अनुरोध डेटा लॉग करता है
    • डेटा स्थिरता के लिए लेनदेन का उपयोग करता है