VPS.org API

REST API 문서화

서버 API

VPS 서버를 만들고, 검사하고, 전원을 공급하고, 크기를 조정하고, 삭제할 수 있습니다. 서버는 uuid로 식별됩니다.

엔드포인트 15
기본 경로 /api/v1/servers
얻다 /api/v1/servers/

모든 서버 목록 보기

계정에 있는 서버를 최신 순서대로 페이지당 25개씩 반환합니다. 삭제 중인 서버는 포함되지 않습니다.

필요한 권한: servers:list

쿼리 매개변수

파라미터 유형 필수의 설명
page integer 아니요 1부터 시작하는 페이지 번호
page_size integer 아니요 페이지당 결과 (기본값 25, 최대 100)

예시 요청

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

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

response = requests.get(url, headers=headers)
for server in response.json()["results"]:
    print(server["uuid"], server["hostname"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);
$ch = curl_init('https://admin.vps.org/api/v1/servers/');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_TOKEN']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$data = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($data['results'] as $server) {
    echo $server['hostname'] . ' ' . $server['status'] . "\n";
}

예시 답변

{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
      "hostname": "web-01",
      "status": "on",
      "error_description": null,
      "location_name": "New Jersey",
      "plan_name": "1 vCPU / 2 GB RAM / 10 GB",
      "os_name": "Ubuntu",
      "ipv4_addresses": ["203.0.113.10"],
      "ipv6_addresses": ["2001:db8:2:dd::f9:6b"],
      "created_at": "2026-07-30T03:54:14.914364Z",
      "deployed": true
    },
    {
      "uuid": "2d7e9b40-6c1a-4f3e-8b5d-9a0c1e2f3b4d",
      "hostname": "db-01",
      "status": "queue",
      "error_description": null,
      "location_name": "New Jersey",
      "os_name": "Debian",
      "ipv4_addresses": [],
      "ipv6_addresses": [],
      "created_at": "2026-09-14T19:33:49.426508Z",
      "deployed": false
    }
  ]
}

응답 필드

필드 유형 설명
uuid string 다른 모든 서버 엔드포인트에서 사용되는 서버 식별자
hostname string 서버를 만들 때 선택한 호스트 이름
status string 현재 상태. 아래 서버 상태 값 을 참조하십시오.
error_description string | null 상태가 오류일 때 마지막 실패의 세부사항, 그렇지 않으면 null
location_name string 서버가 실행되는 위치의 이름
os_name string 버전 없는 운영체제 이름
plan_name string 읽기 쉬운 플랜 요약(예: 1 vCPU / 2 GB RAM / 10 GB)
ipv4_addresses array IPv4 주소는 문자열로 표시됩니다. 서버가 배포될 때까지 빈 칸이며 IPv4가 없는 플랜에서는 빈 칸입니다.
ipv6_addresses array 문자열로 IPv6 주소. 서버가 배치될 때까지 비어 있습니다.
created_at datetime 생성 시간 (ISO 8601, UTC)
deployed boolean 프로비저닝이 끝나면 True

응답 상태 코드

200 서버 목록을 성공적으로 가져왔습니다.
403 API 토큰이 누락되었거나 잘못되었거나 토큰에 필요한 권한이 없습니다.
메시지 /api/v1/servers/

새 서버 생성

배포를 위해 새 서버를 큐에 넣고 상태 큐와 함께 즉시 반환합니다. 프로비저닝은 백그라운드에서 계속됩니다. 배포된 상태가 true일 때까지 상태 엔드포인트를 폴링합니다. 서버가 준비되면 로그인 세부 정보가 계정 소유자에게 전자 메일로 전송됩니다.

계정에 저장된 결제 방법이 필요합니다. 계정 기록에 따라 서버가 생성되기 전에 약 1주일 동안 플랜 가격(최소 1달러)의 임시 사전 승인 보류가 카드에 적용될 수 있습니다.

필요한 권한: servers:create

요청 본문 매개변수

파라미터 유형 필수의 설명
hostname string 예 최소 3자 이상의 문자, 숫자, 하이픈 및 점만 사용합니다.
location_id integer 예 Locations API에서 활성 위치의 id
plan_uuid string 예 Plans API에서 활성화된 플랜의 uuid
operating_system_version_uuid string 예 운영체제의 버전 목록에서 활성 항목의 uuid
ssh_key_uuids array 아니요 서버에 설치할 SSH Keys API의 SSH 키의 UUID
ssh_key_ids array 아니요 ssh_key_uuids 대신 SSH 키의 정수 id를 사용합니다. 둘 다 보내면 ssh_key_ids 를 사용합니다.
ssh_key_uuid, ssh_key_id string, integer 아니요 단일 SSH 키의 약어
auth_method string 아니요 password, ssh_key 또는 둘 다. 기본값은 password 입니다. SSH 키가 제공되면 둘 다 됩니다.

예시 요청

cURL
Python
JavaScript
PHP
curl -X POST "https://admin.vps.org/api/v1/servers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"]
  }'
import requests

url = "https://admin.vps.org/api/v1/servers/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {
    "hostname": "web-01",
    "location_id": 1,
    "plan_uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "operating_system_version_uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "ssh_key_uuids": ["YOUR_SSH_KEY_UUID"],
}

response = requests.post(url, headers=headers, json=data)
server = response.json()
print(response.status_code, server["uuid"], server["status"])
const response = await fetch('https://admin.vps.org/api/v1/servers/', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    hostname: 'web-01',
    location_id: 1,
    plan_uuid: '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    operating_system_version_uuid: 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    ssh_key_uuids: ['YOUR_SSH_KEY_UUID']
  })
});

const server = await response.json();
console.log(server.uuid, server.status);
$data = [
    'hostname' => 'web-01',
    'location_id' => 1,
    'plan_uuid' => '3bc2faf6-8f8b-4978-b62d-b52ed3f858e9',
    'operating_system_version_uuid' => 'c3418f90-80a0-4e00-a7e1-d0ab1822b941',
    'ssh_key_uuids' => ['YOUR_SSH_KEY_UUID']
];

$ch = curl_init('https://admin.vps.org/api/v1/servers/');
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);

$server = json_decode(curl_exec($ch), true);
curl_close($ch);

예시 답변

201 Get Server Details 에서 설명한 전체 서버 객체로 생성되었습니다. 주소와 vmid는 배포가 완료되면 채워집니다.

{
  "uuid": "5f0c8e2a-6b1d-4c3e-9a7f-2d4b6c8e0a1f",
  "hostname": "web-01",
  "vmid": null,
  "status": "queue",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "3bc2faf6-8f8b-4978-b62d-b52ed3f858e9",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 10,
    "disk_space_total": 10240,
    "transfer": 500,
    "price": "3.50",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.005",
    "monthly_price": "3.50",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [],
  "ipv6_addresses": [],
  "deployed": false,
  "created_at": "2026-09-14T21:02:11.402113Z",
  "recent_actions": []
}

응답 상태 코드

201 서버가 생성되고 배포를 위해 대기열에 올랐습니다.
400 비활성 위치, 계획 또는 운영 체제 버전과 같은 검증 오류
402 파일에 지불 방법이 없거나, 미지급 청구서 또는 카드 사전 승인이 거부되었습니다.
403 API 토큰이 누락되었거나 잘못되었거나 토큰에 필요한 권한이 없습니다.
429 계정이 서버 생성 한도에 도달했습니다.
얻다 /api/v1/servers/{uuid}/

서버 정보 가져오기

서버의 위치, 플랜, 운영 체제, IP 주소 및 최근 5개의 작업을 포함한 서버를 반환합니다.

필요한 권한: servers:list

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

예시 답변

{
  "uuid": "8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b",
  "hostname": "web-01",
  "vmid": 1042,
  "status": "on",
  "error_description": null,
  "location": {
    "id": 1,
    "name": "New Jersey",
    "country_name": "United States",
    "is_active": true
  },
  "plan": {
    "uuid": "14186969-fbaf-43e1-9ab2-b1f1aeb66674",
    "cpu": 1,
    "ram": 2,
    "ram_unit": "GB",
    "disk_space": 25,
    "disk_space_total": 25600,
    "transfer": 1,
    "price": "5.00",
    "cpu_type_name": "Shared",
    "is_active": true,
    "hourly_price": "0.007",
    "monthly_price": "5.00",
    "is_gpu": false,
    "gpu_count": 0,
    "gpu_model": ""
  },
  "operating_system": {
    "id": 1,
    "name": "Ubuntu",
    "svg_icon": "<svg ...>",
    "versions": [ ... ]
  },
  "operating_system_version": {
    "uuid": "c3418f90-80a0-4e00-a7e1-d0ab1822b941",
    "name": "24.04 LTS x64",
    "os_name": "Ubuntu",
    "os_svg_icon": "<svg ...>",
    "is_active": true
  },
  "ipv4_addresses": [
    {
      "ip": "203.0.113.10",
      "gateway": "203.0.113.1",
      "subnet": "203.0.113.0",
      "rdns": "web-01.example.com"
    }
  ],
  "ipv6_addresses": [
    {
      "ip": "2001:db8:2:dd::f9:6b",
      "gateway": "2001:db8:2:dd::f9:1",
      "subnet": "2001:db8:2:dd::f9:0",
      "rdns": "web-01.example.com"
    }
  ],
  "deployed": true,
  "created_at": "2026-07-30T03:54:14.914364Z",
  "recent_actions": [
    {
      "id": 17028,
      "action": "create",
      "action_display": "Create",
      "description": "Server deployed with VMID 1042",
      "user_email": "you@example.com",
      "created_at": "2026-07-30T03:54:32.860854Z"
    }
  ]
}

SVG 아이콘 마크업과 버전 목록은 여기에서 짧게 표시됩니다.

응답 필드

필드 유형 설명
vmid integer | null 배포 중에 설정된 가상 시스템 번호
location object Locations API에서 반환하는 Location 객체
plan object Plans API에서 반환하는 Plan 객체
operating_system, operating_system_version object Operating Systems API에서 반환하는 운영 체제 및 설치된 버전
ipv4_addresses, ipv6_addresses array IP, 게이트웨이, 서브넷 및 rdns (역 DNS 호스트 이름) 주소 당 하나의 개체
recent_actions array 최대 5개의 최근 작업: id, action, action_display, description, user_email, created_at

응답 상태 코드

200 서버 정보를 성공적으로 가져왔습니다.
404 찾을 수 없거나 다른 계정에 속합니다.
얻다 /api/v1/servers/{uuid}/status/

서버 상태 가져오기

서버를 만들거나, 전원을 공급하거나, 크기를 조정한 후 폴링을 위한 가벼운 호출입니다.

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/status/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "status": "on",
  "deployed": true,
  "resizing": false
}

서버 상태 값

값 설명
queue 작업(배포, 전원, 크기 조정, 복원)이 대기열에 있거나 진행 중입니다.
deploying 제어판에서 생성된 서버는 이 상태를 사용합니다. API를 통해 생성된 서버는 준비될 때까지 대기열에 남아 있습니다.
on 실행 중
off 전원이 꺼짐
error 마지막 작업이 실패했습니다. error_description 을 참조하십시오.
suspended_payment 미지급 청구서로 인해 중단됨
메시지 /api/v1/servers/{uuid}/power/

서버 전원 제어

서버 상태가 작업이 완료될 때까지 큐로 변경됩니다.

필요한 권한: servers:power

요청 본문 매개변수

파라미터 유형 필수의 설명
action string 예 start: 전원 켜기
shutdown: 게스트가 멈추지 않으면 강제로 종료되는 우아한 종료
restart: 하드 파워 사이클(정지, 시작)
stop: 현재 재시작과 동일한 전원 사이클을 수행합니다. shutdown 을 사용하여 서버를 꺼두십시오.

예시 요청

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/power/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "restart"}'
import requests

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

response = requests.post(url, headers=headers, json={"action": "restart"})
print(response.json())

예시 답변

{
  "message": "Server restart queued"
}

응답 상태 코드

200 동작이 대기열에 올랐습니다
400 누락되거나 지원되지 않는 동작
402 계정에 미지불 청구서가 있기 때문에 시작 거부
404 찾을 수 없거나 다른 계정에 속합니다.
메시지 /api/v1/servers/{uuid}/resize/

서버 크기 조정

서버를 다른 활성 계획으로 이동합니다. 새 계획은 현재 계획보다 디스크 공간이 적을 수 없으며, 요청 본문에는 크기 조정 작업 설정이 포함되어야 합니다. 새로운 계획의 하이퍼바이저 용량은 큐에 넣기 전에 확인되므로 거부된 요청은 서버를 변경하지 않습니다.

서버는 크기를 조정하는 동안 종료되고 다시 시작됩니다. 크기 조정이 실패하면 서버는 이전 계획으로 돌아가고 실행 중이면 다시 시작됩니다. 디스크 증가는 실행 취소할 수 없습니다.

필요한 권한: servers:resize

요청 본문 매개변수

파라미터 유형 필수의 설명
action string 예 크기를 조정해야 합니다
new_plan_uuid string 예 이동할 계획의 uuid
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/resize/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"action": "resize", "new_plan_uuid": "5e26a4a6-bd0c-467c-abca-da036c811c3f"}'
{
  "message": "Resize queued successfully"
}

크기 조정 거부 예제(409):

{
  "error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}

응답 상태 코드

200 동작이 대기열에 올랐습니다
400 action 또는 new_plan_uuid가 누락되었거나, 잘못된 플랜 또는 비활성 플랜, 디스크 공간이 적은 플랜 또는 GPU 플랜(API를 통해 GPU 플랜의 크기를 조정할 수 없음)
404 찾을 수 없거나 다른 계정에 속합니다.
409 크기 조정 또는 스토리지 변경이 이미 진행 중이거나 새로운 요금제에 맞는 하이퍼바이저 용량이 부족합니다.
503 용량을 확인할 수 없습니다. 서버가 변경되지 않았습니다. 나중에 다시 시도하십시오.
메시지 /api/v1/servers/{uuid}/reset-password/

루트 비밀번호 재설정

새로운 root 암호를 생성하고, 응답에서 반환하고, 서버에서 변경을 큐에 넣습니다. 새로운 암호는 또한 전자 우편으로 보내집니다. 서버는 배포되어야 합니다. 요청 본문은 필요하지 않습니다.

curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/reset-password/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Password reset queued. New password will also be emailed to you.",
  "password": "generated-password",
  "job_id": "b6f1c7e2-3a4d-4f5e-8b9c-0d1e2f3a4b5c"
}

응답 상태 코드

200 동작이 대기열에 올랐습니다
400 서버가 아직 배포되지 않았습니다.
404 찾을 수 없거나 다른 계정에 속합니다.
얻다 메시지 /api/v1/servers/{uuid}/rdns/

역 DNS(PTR)

GET은 서버의 모든 IPv4 및 IPv6 주소의 역 DNS 호스트 이름을 나열합니다. POST는 하나의 주소에 대해 설정합니다. 빈 호스트 이름을 보내면 주소를 기본 역 DNS 이름으로 재설정합니다.

필요한 권한: servers:update

요청 본문 매개변수 (POST)

파라미터 유형 필수의 설명
ip string 예 이 서버에 할당된 IPv4 또는 IPv6 주소
hostname string 아니요 PTR 호스트 이름입니다. 기본값으로 복원하려면 비워두십시오.
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/rdns/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ip": "203.0.113.10", "hostname": "mail.example.com"}'
{
  "message": "Reverse DNS for 203.0.113.10 set to mail.example.com",
  "ip": "203.0.113.10",
  "hostname": "mail.example.com"
}

GET 응답:

{
  "rdns": [
    {"ip": "203.0.113.10", "hostname": "mail.example.com"},
    {"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
  ]
}

응답 상태 코드

400 호스트 이름을 설정할 수 없습니다.
404 페이지가 존재하지 않습니다.
메시지 /api/v1/servers/{uuid}/exec/

서버에서 명령 실행

QEMU 게스트 에이전트를 통해 서버 내부에서 셸 명령을 실행하고 끝날 때까지 기다립니다. 서버가 배포되어 실행되어야 하며 qemu-guest-agent가 게스트에 설치되어 실행되어야 합니다.

필요한 권한: servers:exec

요청 본문 매개변수

파라미터 유형 필수의 설명
command string 예 /bin/sh -c 명령어로 명령줄 실행, 최대 2000자
timeout integer 아니요 명령을 기다리는 시간, 1에서 300까지 (기본값은 30)
curl -X POST "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/exec/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"command": "uptime", "timeout": 30}'
{
  "stdout": " 21:14:03 up 46 days,  2:10,  0 users,  load average: 0.08, 0.03, 0.01\n",
  "stderr": "",
  "exit_code": 0,
  "timed_out": false
}

만약 시간이 초과되면 명령이 아직 실행되고 있다면, 응답은 timed_out 를 true 로 설정하고 exit_code 를 null 로 설정합니다.

응답 상태 코드

200 명령이 끝났거나 시간이 초과되었습니다.
400 서버가 배포되지 않았거나 실행되지 않거나 잘못된 매개 변수
409 QEMU 게스트 에이전트가 서버에서 실행되지 않습니다
503 임시 연결 문제입니다. Retry- After 헤더 후에 다시 시도하십시오.
삭제 /api/v1/servers/{uuid}/

서버 삭제

영구 삭제를 위해 서버를 대기열에 올립니다. 서버는 즉시 목록에서 사라지며 복구할 수 없습니다.

필요한 권한: servers:delete

curl -X DELETE "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "message": "Server deletion queued"
}

응답 상태 코드

202 승인됨: 요청이 대기열에 올랐습니다
404 찾을 수 없거나 다른 계정에 속합니다.
얻다 메시지 /api/v1/ssh-keys/

SSH 키

공개 SSH 키를 계정에 저장한 다음 서버를 만들 때 ssh_key_uuids 로 uuids를 전달합니다. GET은 키를 목록으로 표시합니다(페이지당 25개); POST는 하나를 추가합니다.

필요한 권한: ssh-keys:list (GET), ssh-keys:create (POST)

요청 본문 매개변수 (POST)

파라미터 유형 필수의 설명
name string 예 키를 인식하는 이름, 최대 100자
public_key string 예 OpenSSH 형식의 공개 키, 예를 들어 id_ed25519.pub의 내용

예시 요청

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/ssh-keys/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "laptop", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop"}'
import requests

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

with open("/home/you/.ssh/id_ed25519.pub") as f:
    data = {"name": "laptop", "public_key": f.read().strip()}

response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json()["uuid"])

예시 답변

{
  "id": 19,
  "uuid": "6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c",
  "name": "laptop",
  "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... you@laptop",
  "fingerprint": "0b:4c:9b:48:76:e7:1d:07:b9:ac:71:90:70:f7:9a:69",
  "created_at": "2026-08-23T19:16:11.547183Z",
  "last_used_at": null
}

응답 필드

필드 유형 설명
id, uuid integer, string 키 식별자. ssh_key_uuids 와 아래 URL에서 uuid 를 사용한다. id 는 ssh_key_ids 에서 작동한다.
fingerprint string 플랫폼에서 계산한 키의 MD5 지문
last_used_at datetime | null 키가 새 서버에 마지막으로 설치된 시점

응답 상태 코드

201 키 추가됨
400 이름이 없거나 공개 키가 유효한 SSH 공개 키가 아닙니다.
얻다 삭제 /api/v1/ssh-keys/{uuid}/

SSH 키 가져오기 또는 삭제하기

GET은 위의 필드를 가진 키를 반환합니다. DELETE는 계정에서 삭제하고 본문이 없는 204를 반환합니다. 키를 삭제하면 이미 설치된 서버에서 삭제되지 않습니다. 키는 편집할 수 없습니다: 삭제하고 다시 추가하십시오.

필요한 권한: ssh-keys:list (GET), ssh-keys:delete (DELETE)

curl -X DELETE "https://admin.vps.org/api/v1/ssh-keys/6e1b9c52-3f8a-4d7e-a2c4-5b9d0e1f2a3c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

백업 및 스냅샷

백업 또는 스냅샷을 만드는 것도 서버 작업입니다.