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 Ооба Камдык көчүрмөсү сактала турган сервердин ID'си
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 Табылган жок - Сервер жок
Эскертүү: Бир серверде эң көп дегенде 10 кол менен камдык көчүрмө жасалышы мүмкүн. Автоматтык камдык көчүрмөлөр планыңыздын камдык көчүрмөнү сактоо саясатына ылайык сакталат (адатта 7-30 күн).
ӨЧҮРҮҮ /api/v1/backups/{backup_id}/

Камдык көчүрмөнү жок кылуу

Камдык көчүрмөнү биротоло жок кылыңыз. Бул аракетти артка кайтаруу мүмкүн эмес.

Жол параметрлери

Параметр Түрү Талап кылынат Сүрөттөмө
backup_id integer Ооба Уникалдуу камдык көчүрмө IDси

Үлгү суроо-талап

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 документтери.

Камдык көчүрмөнү сактоо боюнча мыкты тажрыйбалар