सामग्री पर जाएँ

बैकअप ​

अंतर्निहित बैकअप एजेंट की स्थिति, योजना, रन, बिंदु, सत्यापन और प्रतिधारण।

इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।

ऑपरेशन ​

बैकअप की स्थिति प्राप्त करें ​

GET HEAD /api/v1/backup/status

एक्सेस: सिस्टम अनुमति backup.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

बैकअप प्रणाली का सारांश देता है: बैकअप स्टोरेज (vault) (configured, available, खाली और कुल बाइट), बैकअप एजेंट (online, अंतिम हार्टबीट, संस्करण), योजना, सबसे नया पूर्ण बिंदु, अगला निर्धारित रन, चल रहा जॉब और warnings, जिनमें से प्रत्येक agent_offline या backup_stale जैसा कोड है और उसकी गंभीरता warning या critical है। एजेंट ऑफ़लाइन होने पर बैकअप स्टोरेज अनुपलब्ध बताया जाता है। इसमें कोई पथ या गोपनीय मान नहीं होता।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
vaultobjectहाँ—
vault.configuredbooleanहाँ—
vault.idstring (uuid)हाँnull हो सकता है
vault.availablebooleanहाँ—
vault.encryptedbooleanहाँnull हो सकता है; वॉल्ट एन्क्रिप्टेड है या नहीं; अज्ञात या कनेक्ट न होने पर null।
vault.freeBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
vault.totalBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; null हो सकता है
agentobjectहाँ—
agent.onlinebooleanहाँ—
agent.lastSeenAtstring (date-time)हाँnull हो सकता है
agent.versionstringहाँअधिकतम 64 वर्ण; null हो सकता है
planobjectहाँ—
plan.enabledbooleanहाँ—
plan.hourintegerहाँ0–23
plan.minuteintegerहाँ0–59
plan.timezonestringहाँ1–64 वर्ण; स्पष्ट IANA टाइम ज़ोन, जैसे Europe/Moscow; सर्वर द्वारा सत्यापित।
plan.retentionobjectहाँ—
plan.retention.dailyintegerहाँ0–366
plan.retention.weeklyintegerहाँ0–260
plan.retention.monthlyintegerहाँ0–120
plan.revisionintegerहाँ0–2147483647
lastCompletedobjectहाँnull हो सकता है
lastCompleted.idstring (uuid)हाँ—
lastCompleted.snapshotAtstring (date-time)हाँस्नैपशॉट समय T; बिंदु की आयु T से गिनी जाती है।
lastCompleted.completedAtstring (date-time)हाँ—
lastCompleted.blobsintegerहाँकम से कम 0
lastCompleted.contentBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
lastCompleted.newBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; इस बिंदु ने बैकअप स्टोरेज (vault) में जितने बाइट जोड़े।
lastCompleted.tablesintegerहाँकम से कम 0
lastCompleted.rowsintegerहाँकम से कम 0
lastCompleted.pinnedbooleanहाँ—
lastCompleted.verifiedAtstring (date-time)हाँnull हो सकता है
lastCompleted.verifyDepthstringहाँइनमें से एक: structural, deep, null; null हो सकता है
lastCompleted.verifyErrorstringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है
nextRunAtstring (date-time)हाँnull हो सकता है
runningobjectहाँnull हो सकता है
running.idstring (uuid)हाँ—
running.kindstringहाँइनमें से एक: capture, verify, retention
running.statestringहाँइनमें से एक: queued, running, committing, completed, failed, interrupted
running.phasestringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है
running.startedAtstring (date-time)हाँनिष्पादन का आरंभ, या कतार में रहते समय अनुरोध का समय।
running.finishedAtstring (date-time)हाँnull हो सकता है
running.errorCodestringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है
running.pointIdstring (uuid)हाँnull हो सकता है
running.progressobjectहाँ—
running.progress.bytesCopiedstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; संसाधित बाइट: कॉपी किए गए या पहले से बैकअप स्टोरेज (vault) में मौजूद।
running.progress.bytesTotalstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
running.progress.blobsCopiedintegerहाँकम से कम 0
running.progress.blobsTotalintegerहाँकम से कम 0
warningsobject का ऐरेहाँअधिकतम 10 आइटम
warnings[].codestringहाँइनमें से एक: vault_not_configured, agent_offline, schedule_disabled, no_backup_yet, backup_stale, last_run_failed, vault_unavailable, vault_low_space, verify_failed, never_deep_verified
warnings[].severitystringहाँइनमें से एक: warning, critical

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/status" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

बैकअप योजना प्राप्त करें ​

GET HEAD /api/v1/backup/plan

एक्सेस: सिस्टम अनुमति backup.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

दैनिक शेड्यूल (enabled, IANA timezone में hour और minute) और प्रतिधारण नीति (रखने के लिए daily, weekly, monthly बिंदु) उस revision के साथ लौटाता है जिसे updateBackupPlan को वापस भेजना है। बदले जाने तक योजना अक्षम रहती है, शेड्यूल 02:00 UTC का है और 7 दैनिक, 4 साप्ताहिक तथा 6 मासिक बिंदु रखे जाते हैं।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
enabledbooleanहाँ—
hourintegerहाँ0–23
minuteintegerहाँ0–59
timezonestringहाँ1–64 वर्ण; स्पष्ट IANA टाइम ज़ोन, जैसे Europe/Moscow; सर्वर द्वारा सत्यापित।
retentionobjectहाँ—
retention.dailyintegerहाँ0–366
retention.weeklyintegerहाँ0–260
retention.monthlyintegerहाँ0–120
revisionintegerहाँ0–2147483647

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/plan" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

बैकअप योजना प्रतिस्थापित करें ​

PUT /api/v1/backup/plan

एक्सेस: सिस्टम अनुमति backup.manage · पुनः प्रयास: केवल अपेक्षित संशोधन के साथ दोहराएँ (compare-and-swap)

पूरी योजना प्रतिस्थापित करता है: enabled, hour (0–23), minute (0–59), timezone और retention (अधिकतम 366 दैनिक, 260 साप्ताहिक, 120 मासिक) सभी मौजूद होने चाहिए। expectedRevision वर्तमान संशोधन होना चाहिए, अन्यथा 409 revision_mismatch; अमान्य फ़ील्ड पर 400 मिलता है, जिसके details में JSON Pointer होता है। एजेंट नया शेड्यूल अपनी अगली जाँच से अपनाता है।

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
expectedRevisionintegerहाँ0–2147483647
enabledbooleanहाँ—
hourintegerहाँ0–23
minuteintegerहाँ0–59
timezonestringहाँ1–64 वर्ण; स्पष्ट IANA टाइम ज़ोन, जैसे Europe/Moscow; सर्वर द्वारा सत्यापित।
retentionobjectहाँ—
retention.dailyintegerहाँ0–366
retention.weeklyintegerहाँ0–260
retention.monthlyintegerहाँ0–120

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
enabledbooleanहाँ—
hourintegerहाँ0–23
minuteintegerहाँ0–59
timezonestringहाँ1–64 वर्ण; स्पष्ट IANA टाइम ज़ोन, जैसे Europe/Moscow; सर्वर द्वारा सत्यापित।
retentionobjectहाँ—
retention.dailyintegerहाँ0–366
retention.weeklyintegerहाँ0–260
retention.monthlyintegerहाँ0–120
revisionintegerहाँ0–2147483647

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/backup/plan" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"enabled":false,"hour":0,"minute":0,"timezone":"<timezone>","retention":{"daily":0,"weekly":0,"monthly":0}}'

बैकअप अभी माँगें ​

POST /api/v1/backup/runs

एक्सेस: सिस्टम अनुमति backup.manage · पुनः प्रयास: उसी Idempotency-Key के साथ दोहराना सुरक्षित है

बैकअप एजेंट के लिए शेड्यूल के बाहर एक कैप्चर कतार में लगाता है और जॉब (kind capture) के साथ 202 लौटाता है; एजेंट उसे चलाता है, फिर सत्यापन और प्रतिधारण। Idempotency-Key आवश्यक है: उसी कॉलर से दोहराने पर वही जॉब मिलता है। जॉब को listBackupJobs में देखें। एक समय में अधिकतम 100 बैकअप अनुरोध खुले रह सकते हैं (507 queue_full); जब तक कोई एजेंट ऑनलाइन नहीं है, जॉब प्रतीक्षा करता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
Idempotency-Keyहेडरstringहाँपैटर्न: ^[A-Za-z0-9_.:-]{1,128}$; Repeat returns the same job; per caller and operation kind.

प्रतिक्रिया 202

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
kindstringहाँइनमें से एक: capture, verify, retention
statestringहाँइनमें से एक: queued, running, committing, completed, failed, interrupted

प्रतिक्रियाएँ: 202, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/backup/runs" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

बैकअप जॉब सूचीबद्ध करें ​

GET HEAD /api/v1/backup/jobs

एक्सेस: सिस्टम अनुमति backup.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

कैप्चर, सत्यापन और प्रतिधारण जॉब, सबसे नया पहले, सूचीबद्ध करता है; प्रत्येक के साथ उसकी state (queued, running, committing, completed, failed, interrupted), phase, समय, errorCode, परिणामी बिंदु और progress (संसाधित बाइट और ऑब्जेक्ट) है। प्रत्येक पृष्ठ में limit जॉब होते हैं (1–100, डिफ़ॉल्ट 50); after में next देकर आगे बढ़ें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
afterक्वेरीstringनहींपैटर्न: ^[0-9]{1,17}_[0-9a-f-]{36}$; next of the previous page
limitक्वेरीintegerनहीं1–100; डिफ़ॉल्ट 50

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].kindstringहाँइनमें से एक: capture, verify, retention
items[].statestringहाँइनमें से एक: queued, running, committing, completed, failed, interrupted
items[].phasestringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है
items[].startedAtstring (date-time)हाँनिष्पादन का आरंभ, या कतार में रहते समय अनुरोध का समय।
items[].finishedAtstring (date-time)हाँnull हो सकता है
items[].errorCodestringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है
items[].pointIdstring (uuid)हाँnull हो सकता है
items[].progressobjectहाँ—
items[].progress.bytesCopiedstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; संसाधित बाइट: कॉपी किए गए या पहले से बैकअप स्टोरेज (vault) में मौजूद।
items[].progress.bytesTotalstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].progress.blobsCopiedintegerहाँकम से कम 0
items[].progress.blobsTotalintegerहाँकम से कम 0
nextstringहाँपैटर्न: ^[0-9]{1,17}_[0-9a-f-]{36}$; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/jobs" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

बैकअप बिंदु सूचीबद्ध करें ​

GET HEAD /api/v1/backup/points

एक्सेस: सिस्टम अनुमति backup.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

वर्तमान बैकअप स्टोरेज (vault) के पूर्ण पुनर्स्थापना बिंदु, सबसे नया स्नैपशॉट पहले, सूचीबद्ध करता है; प्रत्येक के साथ स्नैपशॉट समय T, आकार, बैकअप स्टोरेज में जोड़े गए बाइट, वह pinned है या नहीं और उसका नवीनतम सत्यापन (verifiedAt, verifyDepth structural या deep, verifyError) है। प्रत्येक पृष्ठ में limit बिंदु होते हैं (1–100, डिफ़ॉल्ट 50); after में next देकर आगे बढ़ें। बदला गया बैकअप स्टोरेज केवल अपने ही बिंदु दिखाता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
afterक्वेरीstringनहींपैटर्न: ^[0-9]{1,17}_[0-9a-f-]{36}$; next of the previous page
limitक्वेरीintegerनहीं1–100; डिफ़ॉल्ट 50

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].idstring (uuid)हाँ—
items[].snapshotAtstring (date-time)हाँस्नैपशॉट समय T; बिंदु की आयु T से गिनी जाती है।
items[].completedAtstring (date-time)हाँ—
items[].blobsintegerहाँकम से कम 0
items[].contentBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].newBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; इस बिंदु ने बैकअप स्टोरेज (vault) में जितने बाइट जोड़े।
items[].tablesintegerहाँकम से कम 0
items[].rowsintegerहाँकम से कम 0
items[].pinnedbooleanहाँ—
items[].verifiedAtstring (date-time)हाँnull हो सकता है
items[].verifyDepthstringहाँइनमें से एक: structural, deep, null; null हो सकता है
items[].verifyErrorstringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है
nextstringहाँपैटर्न: ^[0-9]{1,17}_[0-9a-f-]{36}$; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/points" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

बैकअप बिंदु की गहन जाँच माँगें ​

POST /api/v1/backup/points/{id}/verify

एक्सेस: सिस्टम अनुमति backup.manage · पुनः प्रयास: उसी Idempotency-Key के साथ दोहराना सुरक्षित है

बिंदु id का सत्यापन कतार में लगाता है जो उसका हर संग्रहीत बाइट पढ़ता है; उत्तर जॉब के साथ 202 है, और परिणाम बिंदु के verifiedAt, verifyDepth और verifyError में दिखता है। Idempotency-Key आवश्यक है, और उसे किसी अन्य बिंदु के लिए दोबारा उपयोग करने पर 409 idempotency_mismatch मिलता है। अज्ञात बिंदु पर 404।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—
Idempotency-Keyहेडरstringहाँपैटर्न: ^[A-Za-z0-9_.:-]{1,128}$; Repeat returns the same job; per caller and operation kind.

प्रतिक्रिया 202

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
kindstringहाँइनमें से एक: capture, verify, retention
statestringहाँइनमें से एक: queued, running, committing, completed, failed, interrupted

प्रतिक्रियाएँ: 202, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/backup/points/$ID/verify" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

बैकअप बिंदु को पिन या अनपिन करें ​

PUT /api/v1/backup/points/{id}/pin

एक्सेस: सिस्टम अनुमति backup.manage · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

बिंदु id का pinned सेट करता है; पिन किया गया बिंदु अनपिन किए जाने तक नीति से परे भी प्रतिधारण द्वारा रखा जाता है। वही मान फिर सेट करने पर कुछ नहीं बदलता, और उत्तर अद्यतन बिंदु है। अज्ञात या पहले ही भुलाए गए बिंदु पर 404।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
pinnedbooleanहाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
snapshotAtstring (date-time)हाँस्नैपशॉट समय T; बिंदु की आयु T से गिनी जाती है।
completedAtstring (date-time)हाँ—
blobsintegerहाँकम से कम 0
contentBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
newBytesstringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; इस बिंदु ने बैकअप स्टोरेज (vault) में जितने बाइट जोड़े।
tablesintegerहाँकम से कम 0
rowsintegerहाँकम से कम 0
pinnedbooleanहाँ—
verifiedAtstring (date-time)हाँnull हो सकता है
verifyDepthstringहाँइनमें से एक: structural, deep, null; null हो सकता है
verifyErrorstringहाँपैटर्न: ^[a-z][a-z0-9_]{0,63}$; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X PUT "$ARKVORY_URL/api/v1/backup/points/$ID/pin" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"pinned":false}'

पूर्वावलोकन करें कि बैकअप प्रतिधारण क्या रखेगा ​

GET HEAD /api/v1/backup/retention/preview

एक्सेस: सिस्टम अनुमति backup.read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

दिखाता है कि प्रतिधारण नीति कौन-से बिंदु रखेगी, प्रत्येक के कारणों (daily, weekly, monthly, pinned, newest) के साथ, और कौन-से वह अभी हटा देगी। जिन बिंदुओं का सत्यापन विफल रहा उन पर विचार नहीं किया जाता। पूर्वावलोकन परामर्शात्मक है: requestBackupRetention चलते समय बैकअप स्टोरेज से फिर निर्णय लेता है।

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
keepobject का ऐरेहाँ—
keep[].idstring (uuid)हाँ—
keep[].reasonsstring का ऐरेहाँहर आइटम: इनमें से एक: daily, weekly, monthly, pinned, newest
deleteobject का ऐरेहाँ—
delete[].idstring (uuid)हाँ—

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/retention/preview" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

बैकअप प्रतिधारण माँगें ​

POST /api/v1/backup/retention/apply

एक्सेस: सिस्टम अनुमति backup.manage · पुनः प्रयास: उसी Idempotency-Key के साथ दोहराना सुरक्षित है

प्रतिधारण जॉब कतार में लगाता है: एजेंट नीति से बाहर के बिंदुओं को भुला देता है और फिर वह सामग्री हटाता है जिसका कोई शेष बिंदु उपयोग नहीं करता, इसलिए बैकअप स्टोरेज में स्थान जॉब पूरा होने पर ही लौटता है। जॉब के साथ 202 लौटाता है; Idempotency-Key आवश्यक है और उसे दोहराने पर वही जॉब मिलता है। पहले previewBackupRetention देखें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
Idempotency-Keyहेडरstringहाँपैटर्न: ^[A-Za-z0-9_.:-]{1,128}$; Repeat returns the same job; per caller and operation kind.

प्रतिक्रिया 202

फ़ील्डप्रकारआवश्यकनियम
idstring (uuid)हाँ—
kindstringहाँइनमें से एक: capture, verify, retention
statestringहाँइनमें से एक: queued, running, committing, completed, failed, interrupted

प्रतिक्रियाएँ: 202, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/backup/retention/apply" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Arkvory · ProAnimaStudio