VPS.org API

Nyaraka za API za REST

API ya Hifadhi Rudufu

Dhibiti nakala rudufu za seva kiprogramu. Orodhesha, unda, rejesha, na ufute nakala rudufu za seva zako.

Sehemu za Mwisho 3 endpoints
Njia ya Msingi /api/v1/backups
PATA /api/v1/backups/

Orodhesha Hifadhi Nakala Zote

Pata orodha ya nakala rudufu zote kwenye seva zako.

Vigezo vya Hoja

Kigezo Aina Inahitajika Maelezo
server_id integer Hapana Chuja nakala rudufu kwa kitambulisho cha seva
backup_type string Hapana Chuja kwa aina: manual , automatic

Ombi la Mfano

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);

Jibu la Mfano

{
  "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"
    }
  ]
}

Misimbo ya Hali ya Majibu

200 Imefanikiwa kurejesha orodha ya nakala rudufu
401 Hairuhusiwi - Tokeni ya uthibitishaji si sahihi au haipo
POST /api/v1/backups/

Unda Hifadhi Nakala kwa Mkono

Unda nakala rudufu ya seva kwa mkono. Hifadhi rudufu za kibinafsi haziishii muda kiotomatiki.

Omba Vigezo vya Mwili

Kigezo Aina Inahitajika Maelezo
server_id integer Ndiyo Kitambulisho cha seva cha kuhifadhi nakala rudufu
description string Hapana Maelezo ya hiari kwa ajili ya nakala rudufu

Ombi la Mfano

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);

Jibu la Mfano

{
  "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."
}

Misimbo ya Hali ya Majibu

201 Uundaji wa nakala rudufu umeanzishwa kwa mafanikio
400 Ombi Batili - Vigezo batili au ombi lenye hitilafu
401 Hairuhusiwi - Tokeni ya uthibitishaji si sahihi au haipo
404 Haipatikani - Seva haipo
Kumbuka: Unaweza kuwa na hifadhi rudufu zisizozidi 10 kwa kila seva. Hifadhi rudufu otomatiki huhifadhiwa kulingana na sera ya uhifadhi wa hifadhi rudufu ya mpango wako (kwa kawaida siku 7-30).
FUTA /api/v1/backups/{backup_id}/

Futa Hifadhi Nakala

Futa nakala rudufu kabisa. Kitendo hiki hakiwezi kutenduliwa.

Vigezo vya Njia

Kigezo Aina Inahitajika Maelezo
backup_id integer Ndiyo Kitambulisho cha kipekee cha nakala rudufu

Ombi la Mfano

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);

Misimbo ya Hali ya Majibu

204 Nakala rudufu imefutwa kwa mafanikio
401 Hairuhusiwi - Tokeni ya uthibitishaji si sahihi au haipo
404 Haipatikani - Hifadhi nakala rudufu haipo
Onyo: Kufuta nakala rudufu ni jambo la kudumu na haliwezi kutenduliwa. Hakikisha huhitaji tena nakala rudufu hii kabla ya kuifuta.

Kurejesha kutoka kwa Hifadhi Nakala

Ili kurejesha seva kutoka kwa nakala rudufu, tumia sehemu ya mwisho ya kurejesha ya Servers API :

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

Kwa maelezo zaidi kuhusu urejeshaji wa seva, tazama Nyaraka za API za seva.

Mbinu Bora za Kuhifadhi Nakala