VPS.org API

REST API 문서화

백업 API

서버 백업을 나열하고, 새 백업을 시작하고, 하나에서 서버를 복원합니다.

엔드포인트 4
기본 경로 /api/v1/backups
얻다 /api/v1/backups/

모든 백업 목록 보기

모든 서버의 백업을 최신 순서대로 페이지당 25개씩 반환합니다. 서버 필터가 없습니다. server_hostname 를 사용하여 그룹화합니다.

필요한 권한: backups:list

쿼리 매개변수

파라미터 유형 필수의 설명
page integer 아니요 1부터 시작하는 페이지 번호

예시 요청

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

예시 답변

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

응답 필드

필드 유형 설명
id integer GET 및 복원 엔드포인트에서 사용하는 백업 식별자
server_hostname string 백업을 취한 서버의 호스트 이름
name string 백업 아카이브 파일 이름
size_gb number 기가바이트 단위의 압축 크기
deletion_date datetime 백업이 자동으로 제거 될 때
days_remaining integer 삭제일까지 남은 전체 일수
created_at datetime 생성 시간 (ISO 8601, UTC)

응답 상태 코드

200 성공적으로 백업 목록을 검색했습니다.
403 API 토큰이 누락되었거나 잘못되었거나 토큰에 필요한 권한이 없습니다.
얻다 /api/v1/backups/{id}/

백업 받기

위의 필드를 가진 하나의 백업 객체를 반환합니다.

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

백업 만들기

배포된 서버의 백업을 대기열에 놓습니다. 요청 본문이 필요하지 않습니다. 백업이 완료되면 목록에 나타납니다. 디스크 사용량에 따라 몇 분이 걸릴 수 있습니다.

필요한 권한: 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())

예시 답변

{
  "message": "Backup queued successfully"
}

응답 상태 코드

200 동작이 대기열에 올랐습니다
400 서버가 아직 배포되지 않았습니다.
402 파일에 결제 방법이 없거나 미지급 청구서
404 찾을 수 없거나 다른 계정에 속합니다.
메시지 /api/v1/backups/{id}/restore/

백업에서 서버 복원

백업을 취한 서버를 중지하고, 백업으로 디스크를 덮어쓰고 다시 시작합니다. 요청 본문이 필요하지 않습니다. 복원이 실행되는 동안 서버 상태는 큐입니다.

필요한 권한: 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"
}
경고: 백업을 취한 후 서버에 쓰인 모든 것은 손실됩니다. 복원은 실행 취소할 수 없습니다.

응답 상태 코드

200 동작이 대기열에 올랐습니다
400 서버가 아직 배포되지 않았습니다.
404 찾을 수 없거나 다른 계정에 속합니다.

메모