VPS.org API

REST API ডকুমেন্টেশন

ব্যাকআপ API

সার্ভার ব্যাকআপগুলি প্রোগ্রাম্যাটিকভাবে পরিচালনা করুন। আপনার সার্ভারের জন্য ব্যাকআপগুলি তালিকাভুক্ত করুন, তৈরি করুন, পুনরুদ্ধার করুন এবং মুছুন।

শেষবিন্দু 3 endpoints
বেস পাথ /api/v1/backups
পান /api/v1/backups/

সকল ব্যাকআপ তালিকাভুক্ত করুন

আপনার সার্ভার জুড়ে সমস্ত ব্যাকআপের একটি তালিকা পুনরুদ্ধার করুন।

কোয়েরি প্যারামিটার

প্যারামিটার আদর্শ প্রয়োজনীয় বিবরণ
server_id integer না সার্ভার আইডি অনুসারে ব্যাকআপ ফিল্টার করুন
backup_type string না প্রকার অনুসারে ফিল্টার করুন: manual , automatic

উদাহরণ অনুরোধ

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/backups/?server_id=12345" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
params = {"server_id": 12345}

response = requests.get(url, headers=headers, params=params)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/backups/?server_id=12345', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

const backups = await response.json();
console.log(backups);

উদাহরণ প্রতিক্রিয়া

{
  "count": 3,
  "results": [
    {
      "id": 501,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "automatic",
      "status": "completed",
      "size_mb": 4523,
      "created_at": "2025-01-16T03:00:00Z",
      "expires_at": "2025-02-16T03:00:00Z",
      "description": "Automatic daily backup"
    },
    {
      "id": 499,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "manual",
      "status": "completed",
      "size_mb": 4456,
      "created_at": "2025-01-14T10:30:00Z",
      "expires_at": null,
      "description": "Pre-update backup"
    },
    {
      "id": 495,
      "server": {
        "id": 12345,
        "name": "web-server-01"
      },
      "backup_type": "automatic",
      "status": "completed",
      "size_mb": 4389,
      "created_at": "2025-01-15T03:00:00Z",
      "expires_at": "2025-02-15T03:00:00Z",
      "description": "Automatic daily backup"
    }
  ]
}

প্রতিক্রিয়া স্থিতি কোড

200 ব্যাকআপ তালিকা সফলভাবে পুনরুদ্ধার করা হয়েছে
401 অননুমোদিত - অবৈধ অথবা অনুপস্থিত প্রমাণীকরণ টোকেন
পোস্ট /api/v1/backups/

ম্যানুয়াল ব্যাকআপ তৈরি করুন

সার্ভারের একটি ম্যানুয়াল ব্যাকআপ তৈরি করুন। ম্যানুয়াল ব্যাকআপ স্বয়ংক্রিয়ভাবে মেয়াদোত্তীর্ণ হয় না।

অনুরোধ বডি প্যারামিটার

প্যারামিটার আদর্শ প্রয়োজনীয় বিবরণ
server_id integer হাঁ ব্যাকআপ নেওয়ার জন্য সার্ভারের আইডি
description string না ব্যাকআপের জন্য ঐচ্ছিক বর্ণনা

উদাহরণ অনুরোধ

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/backups/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_id": 12345,
    "description": "Pre-deployment backup"
  }'
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}
data = {
    "server_id": 12345,
    "description": "Pre-deployment backup"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    server_id: 12345,
    description: 'Pre-deployment backup'
  })
});

const backup = await response.json();
console.log(backup);
$data = [
    'server_id' => 12345,
    'description' => 'Pre-deployment backup'
];

$ch = curl_init('https://admin.vps.org/api/v1/backups/');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_TOKEN',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$backup = json_decode($response, true);
curl_close($ch);

উদাহরণ প্রতিক্রিয়া

{
  "id": 502,
  "server": {
    "id": 12345,
    "name": "web-server-01"
  },
  "backup_type": "manual",
  "status": "in_progress",
  "size_mb": null,
  "created_at": "2025-01-16T15:45:00Z",
  "expires_at": null,
  "description": "Pre-deployment backup",
  "message": "Backup is being created. This may take several minutes depending on server size."
}

প্রতিক্রিয়া স্থিতি কোড

201 ব্যাকআপ তৈরি সফলভাবে শুরু হয়েছে
400 খারাপ অনুরোধ - অবৈধ প্যারামিটার অথবা ত্রুটিপূর্ণ অনুরোধ
401 অননুমোদিত - অবৈধ অথবা অনুপস্থিত প্রমাণীকরণ টোকেন
404 পাওয়া যায়নি - সার্ভারের অস্তিত্ব নেই
বিঃদ্রঃ: আপনার সার্ভারে সর্বোচ্চ ১০টি ম্যানুয়াল ব্যাকআপ থাকতে পারে। আপনার প্ল্যানের ব্যাকআপ ধরে রাখার নীতির (সাধারণত ৭-৩০ দিন) উপর ভিত্তি করে স্বয়ংক্রিয় ব্যাকআপ রাখা হয়।
মুছে ফেলুন /api/v1/backups/{backup_id}/

ব্যাকআপ মুছুন

স্থায়ীভাবে একটি ব্যাকআপ মুছে ফেলুন। এই ক্রিয়াটি পূর্বাবস্থায় ফেরানো যাবে না।

পথের পরামিতি

প্যারামিটার আদর্শ প্রয়োজনীয় বিবরণ
backup_id integer হাঁ অনন্য ব্যাকআপ আইডি

উদাহরণ অনুরোধ

cURL
Python
JavaScript
curl -X DELETE "https://admin.vps.org/api/v1/backups/501/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
import requests

backup_id = 501
url = f"https://admin.vps.org/api/v1/backups/{backup_id}/"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.status_code)
const backupId = 501;
const response = await fetch(`https://admin.vps.org/api/v1/backups/${backupId}/`, {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  }
});

console.log(response.status);

প্রতিক্রিয়া স্থিতি কোড

204 ব্যাকআপ সফলভাবে মুছে ফেলা হয়েছে
401 অননুমোদিত - অবৈধ অথবা অনুপস্থিত প্রমাণীকরণ টোকেন
404 পাওয়া যায়নি - ব্যাকআপ বিদ্যমান নেই
সতর্কতা: ব্যাকআপ মুছে ফেলা স্থায়ী এবং পূর্বাবস্থায় ফেরানো যাবে না। মুছে ফেলার আগে নিশ্চিত করুন যে আপনার আর এই ব্যাকআপের প্রয়োজন নেই।

ব্যাকআপ থেকে পুনরুদ্ধার করা হচ্ছে

ব্যাকআপ থেকে সার্ভার পুনরুদ্ধার করতে, সার্ভার API পুনরুদ্ধার এন্ডপয়েন্ট ব্যবহার করুন:

POST /api/v1/servers/{server_id}/restore/
{
  "backup_id": 501
}

সার্ভার পুনরুদ্ধার সম্পর্কে বিস্তারিত তথ্যের জন্য, দেখুন সার্ভার API ডকুমেন্টেশন.

ব্যাকআপ সেরা অনুশীলন