VPS.org API

Dokumentasi API REST

API Pelayan

Cipta, periksa, kuasa, saiz semula dan padam pelayan VPS anda. Pelayan diidentifikasi oleh uuid mereka.

Titik akhir 15
Laluan Asas /api/v1/servers
DAPATKAN /api/v1/servers/

Senaraikan Semua Pelayan

Kembalikan pelayan dalam akaun anda, terkini pertama, 25 per halaman. Pelayan yang dipadam tidak termasuk.

Keizinan diperlukan: servers:list

Parameter Pertanyaan

Parameter Jenis Diperlukan Huraian
page integer Tidak Nombor halaman, bermula pada 1
page_size integer Tidak Hasil per halaman (piawai 25, maksimum 100)

Contoh Permintaan

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";
}

Contoh Respons

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

Medan Respons

Medan Jenis Huraian
uuid string Pengenalpasti pelayan digunakan pada setiap titik akhir pelayan lain
hostname string Nama hos yang anda pilih bila mencipta pelayan
status string Keadaan semasa. Lihat Nilai Status Pelayan di bawah.
error_description string | null Perincian kegagalan terakhir bila status adalah ralat, jika tidak null
location_name string Nama lokasi pelayan dijalankan
os_name string Nama sistem operasi, tanpa versi
plan_name string Ringkasan rancangan boleh dibaca, contohnya 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array Alamat IPv4 sebagai rentetan. Kosong sehingga pelayan dilaksanakan, dan pada rancangan tanpa IPv4.
ipv6_addresses array Alamat IPv6 sebagai rentetan. Kosong sehingga pelayan dilaksanakan.
created_at datetime Masa penciptaan (ISO 8601, UTC)
deployed boolean Benar apabila pemberian telah selesai

Kod Status Respons

200 Senarai pelayan berjaya diambil
403 Token API hilang atau tidak sah, atau token tidak mempunyai keizinan yang diperlukan
POST /api/v1/servers/

Cipta Pelayan Baharu

Berijil pelayan baru untuk pelancaran dan kembalikannya segera dengan baris gilir status. Penyediaan berterusan di latar belakang: sokong titik akhir status sehingga dilaksanakan adalah benar. Apabila pelayan sedia, butiran log masuknya dihantar emel kepada pemilik akaun.

Akaun anda memerlukan kaedah pembayaran yang disimpan. Bergantung pada sejarah akaun anda, pra-pengesahan sementara kira-kira satu minggu harga rancangan (sekurang-kurangnya 1 USD) boleh diletakkan pada kad anda sebelum pelayan dicipta.

Keizinan diperlukan: servers:create

Minta Parameter Badan

Parameter Jenis Diperlukan Huraian
hostname string Ya Sekurang- kurangnya 3 aksara. Huruf, digit, tanda kurung dan titik sahaja.
location_id integer Ya ID lokasi aktif dari API Lokasi
plan_uuid string Ya uuid bagi rancangan aktif dari API rancangan
operating_system_version_uuid string Ya uuid bagi kemasukan aktif dalam senarai versi sistem operasi
ssh_key_uuids array Tidak UUID kekunci SSH dari API Kekunci SSH untuk dipasang pada pelayan
ssh_key_ids array Tidak Id integer bagi kekunci SSH, sebagai alternatif kepada ssh_key_uuids. Jika kedua-duanya dihantar, ssh_key_ids digunakan.
ssh_key_uuid, ssh_key_id string, integer Tidak Pintasan untuk kekunci SSH tunggal
auth_method string Tidak katalaluan, ssh_key atau kedua-duanya. Lalai kepada katalaluan, atau kedua-duanya bila kekunci SSH dibekalkan.

Contoh Permintaan

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

Contoh Respons

201 Dicipta dengan objek pelayan penuh yang dinyatakan di bawah Dapatkan Perincian Pelayan. Alamat dan vmid diisi apabila pelaksanaan selesai.

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

Kod Status Respons

201 Pelayan dicipta dan diiblis untuk pelaksanaan
400 Ralat pengesahan, contohnya lokasi tidak aktif, rancangan atau versi sistem operasi
402 Tiada kaedah pembayaran pada fail, bil tidak dibayar, atau pra-pengesahan kad ditolak
403 Token API hilang atau tidak sah, atau token tidak mempunyai keizinan yang diperlukan
429 Akaun anda telah mencapai had penciptaan pelayannya
DAPATKAN /api/v1/servers/{uuid}/

Dapatkan Butiran Pelayan

Kembalikan satu pelayan dengan lokasinya, rancangan, sistem operasi, alamat IP dan lima tindakan terkini.

Keizinan diperlukan: servers:list

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

Contoh Respons

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

Markup ikon SVG dan senarai versi diperpendek di sini.

Medan Respons

Medan Jenis Huraian
vmid integer | null Nombor mesin maya, ditetapkan semasa pelaksanaan
location object Objek lokasi, seperti dikembalikan oleh API Lokasi
plan object Objek rancangan, seperti dikembalikan oleh API rancangan
operating_system, operating_system_version object Sistem operasi dan versi dipasang, seperti dikembalikan oleh API Sistem Operasi
ipv4_addresses, ipv6_addresses array Satu objek bagi setiap alamat dengan ip, gateway, subnet dan rdns (nama hos DNS terbalik)
recent_actions array Sehingga lima tindakan terkini: id, tindakan, action_display, keterangan, user_email, created_at

Kod Status Respons

200 Butiran pelayan berjaya diambil
404 Tidak dijumpai, atau ia milik akaun lain
DAPATKAN /api/v1/servers/{uuid}/status/

Dapatkan Status Pelayan

Panggilan ringan untuk mengundi selepas anda cipta, kuasa atau saiz semula pelayan.

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
}

Nilai Status Pelayan

Nilai Huraian
queue Tindakan (letak, kuasa, saiz semula, pulihkan) diiringi baris atau dalam proses
deploying Disediakan. Pelayan yang dicipta dari panel kawalan menggunakan keadaan ini; pelayan yang dicipta melalui API tetap dalam baris gilir sehingga mereka siap.
on Berjalan
off Dimatikan
error Tindakan terakhir gagal. Lihat error_description.
suspended_payment Ditunda kerana bil tidak dibayar
POST /api/v1/servers/{uuid}/power/

Kawalan Kuasa Pelayan

Mengulit tindakan kuasa. Status pelayan berubah kepada berbaris gilir sehingga tindakan selesai.

Keizinan diperlukan: servers:power

Minta Parameter Badan

Parameter Jenis Diperlukan Huraian
action string Ya start: kuasa pada
shutdown: penutupan yang baik, dipaksa keluar jika tetamu tidak berhenti
restart: kitaran kuasa keras (henti, kemudian mula)
stop: semasa ini melakukan kitaran kuasa yang sama seperti mula semula. Guna penutupan untuk meninggalkan pelayan dimatikan.

Contoh Permintaan

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

Contoh Respons

{
  "message": "Server restart queued"
}

Kod Status Respons

200 Tindakan telah diibalkan
400 Tindakan hilang atau tidak disokong
402 mula ditolak kerana akaun mempunyai bil tak dibayar
404 Tidak dijumpai, atau ia milik akaun lain
POST /api/v1/servers/{uuid}/resize/

Saiz Semula Pelayan

Alihkan pelayan ke rancangan aktif lain. rancangan baru tidak boleh mempunyai ruang cakera kurang daripada yang semasa, dan badan permintaan mesti termasuk tindakan set untuk saiz semula. Kapasiti hypervisor untuk rancangan baru diperiksa sebelum apa-apa diulitkan, jadi permintaan yang ditolak meninggalkan pelayan tidak berubah.

Pelayan dimatikan semasa ia ditukar saiz dan dimulakan semula selepas itu. Jika saiz semula gagal, pelayan diletakkan semula pada rancangan sebelumnya dan dimulakan semula jika ia sedang berjalan. Peningkatan cakera tidak boleh dipulihkan.

Keizinan diperlukan: servers:resize

Minta Parameter Badan

Parameter Jenis Diperlukan Huraian
action string Ya Mesti disaiz semula
new_plan_uuid string Ya uuid rancangan untuk dialihkan ke
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"
}

Contoh saiz semula yang ditolak (409):

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

Kod Status Respons

200 Tindakan telah diibalkan
400 Tindakan hilang atau new_plan_uuid, rancangan tidak sah atau tidak aktif, rancangan dengan kurang ruang cakera, atau rancangan GPU (rancangan GPU tidak boleh disaiz semula melalui API)
404 Tidak dijumpai, atau ia milik akaun lain
409 Perubahan saiz semula atau storan sudah dilaksanakan, atau tiada kapasiti hipervisor yang mencukupi untuk rancangan baru
503 Kapasiti tidak dapat diperiksa sekarang. Pelayan tidak diubah; cuba lagi kemudian.
POST /api/v1/servers/{uuid}/reset-password/

Set semula Katalaluan Root

Janakan katalaluan root baru, kembalikannya dalam respon dan beribaris perubahan pada pelayan. Katalaluan baru juga dihantar emel kepada anda. Pelayan mesti dilaksanakan. Tiada badan permintaan diperlukan.

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

Kod Status Respons

200 Tindakan telah diibalkan
400 Pelayan belum dilaksanakan
404 Tidak dijumpai, atau ia milik akaun lain
DAPATKAN POST /api/v1/servers/{uuid}/rdns/

DNS Soalan

GET menyenaraikan nama hos DNS terbalik bagi setiap alamat IPv4 dan IPv6 pada pelayan. POST menetapkannya untuk satu alamat. Menghantar nama hos kosong menetapkan semula alamat kepada nama DNS terbalik piawainya.

Keizinan diperlukan: servers:update

Minta Parameter Badan (POST)

Parameter Jenis Diperlukan Huraian
ip string Ya Alamat IPv4 atau IPv6 yang ditakrifkan kepada pelayan ini
hostname string Tidak Nama hos PTR. Biarkan kosong untuk set semula ke piawai.
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"
}

Balasan GET:

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

Kod Status Respons

400 ip hilang, atau nama hos tidak dapat ditetapkan
404 Alamat IP tidak ditakrifkan untuk pelayan ini
POST /api/v1/servers/{uuid}/exec/

Jalankan Arahan pada Pelayan

Jalankan perintah shell di dalam pelayan melalui ejen tetamu QEMU dan tunggu ia selesai. Pelayan mesti dilaksanakan dan berjalan, dan qemu-guest-agent mesti dipasang dan berjalan dalam tetamu.

Keizinan diperlukan: servers:exec

Minta Parameter Badan

Parameter Jenis Diperlukan Huraian
command string Ya Baris arahan dilaksanakan dengan /bin/sh -c, sehingga 2000 aksara
timeout integer Tidak Saat untuk menunggu arahan, 1 hingga 300 (piawai 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
}

Jika arahan masih berjalan bila hadmasa tamat, respon mempunyai timed_out ditetapkan kepada benar dan exit_code ditetapkan kepada null.

Kod Status Respons

200 Arahan selesai atau tamat masa
400 Pelayan tidak dilaksanakan atau tidak berjalan, atau parameter tidak sah
409 Agen tetamu QEMU tidak berjalan pada pelayan
503 Masalah sambungan sementara. Cuba semula selepas pengepala Retry-After.
PADAM /api/v1/servers/{uuid}/

Padam Pelayan

Berijil pelayan untuk pembersihan kekal. Pelayan hilang dari senarai serta merta dan tidak boleh dipulihkan.

Keizinan diperlukan: 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"
}

Kod Status Respons

202 Terima: permintaan telah dibelitkan
404 Tidak dijumpai, atau ia milik akaun lain
DAPATKAN POST /api/v1/ssh-keys/

Kekunci SSH

Simpan kekunci SSH awam pada akaun anda, kemudian hantar uuids mereka sebagai ssh_key_uuids bila anda cipta pelayan. GET menyenaraikan kekunci anda (25 per halaman); POST menambah satu.

Keizinan diperlukan: ssh-keys:list (GET), ssh-keys:create (POST)

Minta Parameter Badan (POST)

Parameter Jenis Diperlukan Huraian
name string Ya Nama untuk mengenal pasti kekunci, sehingga 100 aksara
public_key string Ya Kekunci awam dalam format OpenSSH, contohnya kandungan id_ed25519.pub

Contoh Permintaan

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"])

Contoh Respons

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

Medan Respons

Medan Jenis Huraian
id, uuid integer, string Pengenalpasti kekunci. Guna uuid dalam ssh_key_uuids dan dalam URL di bawah; id berfungsi dalam ssh_key_ids.
fingerprint string Cap jari MD5 bagi kekunci, dikira oleh platform
last_used_at datetime | null Bila kunci terakhir dipasang pada pelayan baru

Kod Status Respons

201 Kekunci ditambah
400 Nama hilang, atau kekunci awam bukanlah kunci awam SSH yang sah
DAPATKAN PADAM /api/v1/ssh-keys/{uuid}/

Dapatkan atau padam kekunci SSH

GET mengembalikan satu kekunci dengan medan di atas. DELETE menghapuskannya dari akaun anda dan mengembalikan 204 tanpa badan. Membuang kekunci tidak menghapuskannya dari pelayan yang ia telah dipasang pada. Kekunci tidak boleh disunting: padam dan tambah semula.

Keizinan diperlukan: 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"

Sandaran dan Cekupan

Mencipta sandaran atau snapshot juga merupakan tindakan pelayan: