VPS.org API

Tài liệu API REST

API sao lưu

Danh sách các máy chủ sao lưu, bắt đầu sao lưu mới và khôi phục máy chủ từ một.

Điểm cuối 4
Đường cơ sở /api/v1/backups
LẤY /api/v1/backups/

Liệt kê tất cả các bản sao lưu

Trả lại các bản sao lưu của tất cả máy chủ, mới nhất trước, 25 trên mỗi trang. Không có bộ lọc máy chủ: dùng tên_ máy_ máy để nhóm chúng.

Cần quyền: backups:list

Tham số truy vấn

Tham số Kiểu Yêu cầu Mô tả
page integer Không Số trang, bắt đầu từ 1

Ví dụ về yêu cầu

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/backups/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/backups/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for backup in response.json()["results"]:
    print(backup["id"], backup["server_hostname"], backup["created_at"])
const response = await fetch('https://admin.vps.org/api/v1/backups/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

Ví dụ về câu trả lời

{
  "count": 96,
  "next": "https://admin.vps.org/api/v1/backups/?page=2",
  "previous": null,
  "results": [
    {
      "id": 5512,
      "server_hostname": "web-01",
      "name": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
      "size_gb": 3.12,
      "deletion_date": "2026-09-21T20:45:40.697512Z",
      "days_remaining": 6,
      "created_at": "2026-09-14T20:45:40.699494Z"
    }
  ]
}

Các trường phản hồi

Địa điểm Kiểu Mô tả
id integer Định danh sao lưu, được dùng bởi điểm cuối lấy và phục hồi
server_hostname string Tên máy của máy phục vụ mà bản sao lưu được lấy từ
name string Tên tập tin lưu sao lưu
size_gb number Cỡ nén theo gigabyte
deletion_date datetime Khi nào bản sao lưu sẽ tự động bị gỡ bỏ
days_remaining integer Còn cả ngày nữa đến ngày xóa
created_at datetime Thời gian tạo (ISO 8601, UTC)

Mã trạng thái phản hồi

200 Nhập tên tập tin
403 Thiếu hoặc không hợp lệ token API, hoặc token không có quyền cần thiết
LẤY /api/v1/backups/{id}/

Nhập bản sao lưu

Trả lại một đối tượng sao lưu với các trường ở trên.

curl -X GET "https://admin.vps.org/api/v1/backups/5512/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
POST /api/v1/servers/{uuid}/backup/

Tạo bản sao lưu

Đang xếp hàng sao lưu máy chủ đã triển khai. Không cần cơ thể yêu cầu. Bảo vệ xuất hiện trong danh sách khi nó hoàn thành, có thể mất vài phút tùy thuộc vào việc sử dụng đĩa.

Cần quyền: servers:backup

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/backup/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

server_uuid = "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b"
url = f"https://admin.vps.org/api/v1/servers/{server_uuid}/backup/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers)
print(response.json())

Ví dụ về câu trả lời

{
  "message": "Backup queued successfully"
}

Mã trạng thái phản hồi

200 Hành động đã được xếp hàng
400 Máy phục vụ chưa được triển khai
402 Không có phương thức thanh toán trong tập tin, hoặc hóa đơn chưa thanh toán
404 Không tìm thấy, hoặc nó thuộc về tài khoản khác
POST /api/v1/backups/{id}/restore/

Phục hồi máy chủ từ bản sao lưu

Dừng máy phục hồi, ghi đè lên đĩa của nó với bản sao lưu và khởi động lại. Không cần thiết phải yêu cầu cơ thể. Tình trạng máy phục hồi là xếp hàng trong khi phục hồi đang chạy.

Cần quyền: backups:restore

curl -X POST "https://admin.vps.org/api/v1/backups/5512/restore/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Backup restore queued. The server will be stopped, restored, and restarted.",
  "backup": "vzdump-qemu-1042-2026_09_14-16_44_10.vma.zst",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}
Cảnh báo: Mọi thứ được viết vào máy phục vụ sau khi sao lưu đã bị mất. Không thể hủy việc phục hồi.

Mã trạng thái phản hồi

200 Hành động đã được xếp hàng
400 Máy phục vụ chưa được triển khai
404 Không tìm thấy, hoặc nó thuộc về tài khoản khác

Ghi chú