VPS.org API

REST API dokumentasyon

API ng mga Server

Lumikha, suriin, kapangyarihan, baguhin ang laki at tanggalin ang iyong VPS server. Server ay kinikilala sa pamamagitan ng kanilang uuid.

Mga Endpoint 15
Landas ng Batayan /api/v1/servers
KUMUHA /api/v1/servers/

Ilista ang Lahat ng Server

Bumalik ang mga server sa iyong account, pinakabagong unang, 25 bawat pahina. Server na tinanggal ay hindi kasama.

Kailangang pahintulot: servers:list

Mga Parameter ng Query

Parameter Uri Kinakailangan Paglalarawan
page integer Hindi Page number, nagsisimula sa 1
page_size integer Hindi Mga resulta sa bawat pahina (default 25, maximum 100)

Halimbawang Kahilingan

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

Halimbawang Tugon

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

Mga Patlang ng Tugon

Patlang Uri Paglalarawan
uuid string Server identifier na ginagamit sa bawat iba pang server endpoint
hostname string Hostname pinili mo kapag lumilikha ng server
status string Tingnan ang Server Status Values sa ibaba.
error_description string | null Mga detalye ng huling pagkabigo kapag ang katayuan ay error, kung hindi man null
location_name string <tl> Pangalan ng lokasyon ng server tumatakbo sa
os_name string Operating system pangalan, nang walang ang bersyon
plan_name string Mababasa buod ng plano, halimbawa 1 vCPU /2GB RAM / 10 GB
ipv4_addresses array IPv4 address bilang string. Walang laman hanggang sa ang server ay inilunsad, at sa mga plano na walang IPv4.
ipv6_addresses array IPv6 address bilang string. Walang laman hanggang sa ang server ay deployed.
created_at datetime Oras ng paglikha (ISO 8601, UTC)
deployed boolean True kapag ang provision ay natapos na

Mga Kodigo ng Katayuan ng Tugon

200 Matagumpay na nakuha ang listahan ng server
403 Walang o hindi wastong API token, o ang token ay kulang ang kinakailangang pahintulot
Post /api/v1/servers/

Gumawa ng Bagong Server

Queues isang bagong server para sa pagpapatupad at ibabalik ito kaagad na may katayuan queue. Provisioning patuloy sa background: poll ang katayuan endpoint hanggang deployed ay totoo. Kapag ang server ay handa, ang mga detalye ng login ay emailed sa may-ari ng account.

Kailangan ng naka-save na paraan ng pagbabayad ang iyong account. Depende sa kasaysayan ng iyong account, maaaring maglagay ang iyong provider ng pansamantalang pre-authorization hold ng isang linggo ng presyo ng plano (hindi ba sa 1 USD) sa iyong card bago lumikha ng server.

Kailangang pahintulot: servers:create

Humiling ng mga Parameter ng Katawan

Parameter Uri Kinakailangan Paglalarawan
hostname string Oo Hindi ba sa3karakter. Mga titik, numero, hyphens at mga panahon lamang.
location_id integer Oo Ang id ng isang aktibong lokasyon mula sa mga lokasyon API
plan_uuid string Oo Ang uuid ng isang aktibong plano mula sa mga Plano API
operating_system_version_uuid string Oo Ang uuid ng isang aktibong entry sa listahan ng mga bersyon ng isang operating system
ssh_key_uuids array Hindi UUIDs ng SSH key mula sa SSH Keys API upang i-install sa server
ssh_key_ids array Hindi <Integer id ng SSH key, bilang isang alternatibo sa ssh_key_uuids. Kung pareho ay ipinadala, ssh_key_ids ay ginagamit.
ssh_key_uuid, ssh_key_id string, integer Hindi Shorthand para sa isang solong SSH key
auth_method string Hindi password, ssh_key o pareho. Default sa password, o sa parehong kapag SSH key ay ibinigay.

Halimbawang Kahilingan

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

Halimbawang Tugon

201 Nalikha sa buong server bagay inilarawan sa ilalim ng Kumuha ng Server Details. Address at vmid ay puno sa isang beses pag-deploy ay natapos.

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

Mga Kodigo ng Katayuan ng Tugon

201 Server nilikha at naka-queue para sa pagpapatupad
400 Validasyon error, halimbawa ng isang hindi aktibong lokasyon, planoperating system bersyon
402 Walang paraan ng pagbabayad sa file, hindi nababayaran na invoice, o ang pre-authorization ng card ay tinanggihan
403 Walang o hindi wastong API token, o ang token ay kulang ang kinakailangang pahintulot
429 Ang iyong account ay umabot sa server nito paglikha ng limitasyon
KUMUHA /api/v1/servers/{uuid}/

Kunin ang mga Detalye ng Server

Bumalik ng isang server na may lokasyon nito, plano, operating system, IP address at ang limang pinakabagong mga aksyon.

Kailangang pahintulot: servers:list

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

Halimbawang Tugon

{
  "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 icon markup and the versions list are shortened here.

Mga Patlang ng Tugon

Patlang Uri Paglalarawan
vmid integer | null Virtual machine numero, itakda sa panahon ng pagpapatupad
location object <tl> Location bagay, bilang ibabalik ng mga lokasyon API
plan object Plano bagay, bilang ibabalik ng mga Plano API
operating_system, operating_system_version object Operating system at ang naka-install na bersyon, bilang ibabalik ng Operating Systems API
ipv4_addresses, ipv6_addresses array Isang bagay bawat address na may IP, gateway, subnet at rdns (ang kabaligtaran DNS hostname)
recent_actions array Hanggang sa limang pinakabagong mga aksyon: id, aksyon, action_display, paglalarawan, user_email, created_at

Mga Kodigo ng Katayuan ng Tugon

200 Matagumpay na nakuha ang mga detalye ng server
404 Hindi natagpuan, o ito ay pag-aari ng iba pang account
KUMUHA /api/v1/servers/{uuid}/status/

Kumuha ng Server Status

Isang lightweight tawag para sa polling pagkatapos mong lumikha, kapangyarihan o i-resize ng isang server.

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
}

Server Status halaga

Bawat Paglalarawan
queue Ang isang aksyon (deploy, kapangyarihan, baguhin ang laki, ibalik) ay naka-queue o sa progreso
deploying Servers nilikha mula sa control panel gamitin ang estado na ito; servers nilikha sa pamamagitan ng API manatili sa queue hanggang sa sila ay handa.
on Paglalakbay
off Na-off
error Ang huling pagkilos ay nabigo. Tingnan ang error_description.
suspended_payment Suspended dahil sa hindi pa nababayaran na invoice
Post /api/v1/servers/{uuid}/power/

Control Server kapangyarihan

Queues isang kapangyarihan aksyon. Ang server estado ay nagbabago sa queue hanggang sa pagkumpleto ng aksyon.

Kailangang pahintulot: servers:power

Humiling ng mga Parameter ng Katawan

Parameter Uri Kinakailangan Paglalarawan
action string Oo start: kapangyarihan sa
shutdown: graceful shutdown, sapilitang off kung ang bisita ay hindi tumigil
restart: hard kapangyarihan cycle (i-stop, pagkatapos ay simulan)
stop: kasalukuyang nagsasagawa ng parehong kapangyarihan cycle bilang restart. Gamitin shutdown upang iwanan ang isang server off.

Halimbawang Kahilingan

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

Halimbawang Tugon

{
  "message": "Server restart queued"
}

Mga Kodigo ng Katayuan ng Tugon

200 Ang aksyon ay naka-queue
400 Nawawalang o hindi suportadong aksyon
402 simulan tinanggihan dahil ang account ay may hindi pa nababayaran invoice
404 Hindi natagpuan, o ito ay pag-aari ng iba pang account
Post /api/v1/servers/{uuid}/resize/

I-resize ang isang Server

<> Ilipat ang server sa isa pang aktibong plano. Ang bagong plano ay hindi maaaring magkaroon ng mas kaunting disk space kaysa sa kasalukuyang isa, at ang katawan ng kahilingan ay dapat isama ang pagkilos set upang i-resize. Hypervisor kapasidad para sa bagong plano ay na-check bago ang anumang bagay ay naka-queue, kaya ang isang tinanggihan na kahilingan ay umaalis sa server unchanged.

Ang server ay shut down habang ito ay resized at nagsimula muli pagkatapos. Kung ang resize ay nabigo, ang server ay ilagay pabalik sa kanyang nakaraang plano at nagsimula muli kung ito ay tumatakbo. Disk paglago ay hindi maaaring undone.

Kailangang pahintulot: servers:resize

Humiling ng mga Parameter ng Katawan

Parameter Uri Kinakailangan Paglalarawan
action string Oo Dapat ay i-resize
new_plan_uuid string Oo Ang uuid ng plano upang ilipat sa
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"
}

Halimbawa ng isang tinanggihan resize (409):

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

Mga Kodigo ng Katayuan ng Tugon

200 Ang aksyon ay naka-queue
400 Nawawalang aksyon o new_plan_uuid, hindi wasto o hindi aktibong plano, isang plano na may mas kaunting espasyo sa disk, o isang GPU plano (GPU plano ay hindi maaaring i-resize sa pamamagitan ng API)
404 Hindi natagpuan, o ito ay pag-aari ng iba pang account
409 Ang isang pagbabago ng laki o imbakan ay nasa progreso na, o walang sapat na hypervisor kapasidad para sa bagong plano
503 Kapaligiran ay hindi maaaring suriin ngayon. Ang server ay hindi nagbago; subukan muli mamaya.
Post /api/v1/servers/{uuid}/reset-password/

I-reset ang Root Password

Nagbibigay ng isang bagong root password, ibabalik ito sa tugon at queues ang pagbabago sa server. Ang bagong password ay din emailed sa iyo. Ang server ay dapat na deployed. Walang katawan ng kahilingan ay kinakailangan.

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

Mga Kodigo ng Katayuan ng Tugon

200 Ang aksyon ay naka-queue
400 Ang server ay hindi deployed pa
404 Hindi natagpuan, o ito ay pag-aari ng iba pang account
KUMUHA Post /api/v1/servers/{uuid}/rdns/

Reverse DNS (PTR)

GET listahan ng baligtad DNS hostname ng bawat IPv4 at IPv6 address sa server. POST set ito para sa isang address. Paghahatid ng isang walang laman na hostname resets ang address sa default na baligtad DNS pangalan.

Kailangang pahintulot: servers:update

Humiling ng mga Parameter ng Katawan (POST)

Parameter Uri Kinakailangan Paglalarawan
ip string Oo Ang isang IPv4 o IPv6 address na itinalaga sa server na ito
hostname string Hindi Ang PTR hostname. Mag-iwan ng walang laman upang i-reset sa default.
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 tugon:

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

Mga Kodigo ng Katayuan ng Tugon

400 IP na nawawala, o ang hostname ay hindi maaaring itakda
404 Ang IP address ay hindi itinalaga sa server na ito
Post /api/v1/servers/{uuid}/exec/

Patakbuhin ang isang Command sa isang Server

Tumatakbo ng isang shell command sa loob ng server sa pamamagitan ng QEMU guest agent at naghihintay para sa mga ito upang tapusin. Ang server ay dapat na deployed at tumatakbo, at qemu-guest-agent ay dapat na naka-install at tumatakbo sa mga bisita.

Kailangang pahintulot: servers:exec

Humiling ng mga Parameter ng Katawan

Parameter Uri Kinakailangan Paglalarawan
command string Oo Command line tumakbo sa / bin / sh -c, hanggang sa 2000 character
timeout integer Hindi Seconds upang maghintay para sa utos, 1 hanggang 300 (default 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
}

Kung ang command ay pa rin tumatakbo kapag ang timeout expires, ang tugon ay timed_out set sa totoo at exit_code set sa null.

Mga Kodigo ng Katayuan ng Tugon

200 Command natapos o timed out
400 Server hindi inilunsad o hindi tumatakbo, o hindi wastong mga parameter
409 Ang QEMU bisita ahente ay hindi tumatakbo sa server
503 Panandaliang problema sa koneksyon. Subukan muli pagkatapos ng Retry-After header.
TANGGALIN /api/v1/servers/{uuid}/

Burahin ang Server

Queues ang server para sa permanenteng pagtanggal. Ang server ay nawawala mula sa listahan kaagad at hindi maaaring mabawi.

Kailangang pahintulot: 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"
}

Mga Kodigo ng Katayuan ng Tugon

202 Tinanggap: ang kahilingan ay naka-queue
404 Hindi natagpuan, o ito ay pag-aari ng iba pang account
KUMUHA Post /api/v1/ssh-keys/

Mga SSH key

I-imbak ang mga pampublikong SSH key sa iyong account, pagkatapos ay ipasa ang kanilang uuids bilang ssh_key_uuids kapag lumikha ka ng isang server. GET listahan ng iyong mga key (25 bawat pahina); POST ay nagdaragdag ng isa.

Kailangang pahintulot: ssh-keys:list (GET), ssh-keys:create (POST)

Humiling ng mga Parameter ng Katawan (POST)

Parameter Uri Kinakailangan Paglalarawan
name string Oo Ang isang pangalan upang makilala ang mga susi sa pamamagitan ng, hanggang sa 100 mga character
public_key string Oo Ang pampublikong susi sa OpenSSH format, halimbawa ang mga nilalaman ng id_ed25519.pub

Halimbawang Kahilingan

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

Halimbawang Tugon

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

Mga Patlang ng Tugon

Patlang Uri Paglalarawan
id, uuid integer, string Gamitin ang uuid sa ssh_key_uuids at sa URL sa ibaba; id gumagana sa ssh_key_ids.
fingerprint string MD5 fingerprint ng susi, na kinakalkula ng platform
last_used_at datetime | null Kapag ang susi ay huling naka-install sa isang bagong server

Mga Kodigo ng Katayuan ng Tugon

201 Key idinagdag
400 Nawawalang pangalan, o ang pampublikong susi ay hindi isang wastong SSH pampublikong susi
KUMUHA TANGGALIN /api/v1/ssh-keys/{uuid}/

Kumuha o tanggalin ang isang SSH Key

GET ay nagbabalik ng isang key sa mga patlang sa itaas. DELETE ay inaalis ito mula sa iyong account at nagbabalik 204 na walang katawan. Pagtanggal ng isang key ay hindi inaalis ito mula sa server ito ay naka-install sa. Keys ay hindi maaaring i-edit: tanggalin at magdagdag muli.

Kailangang pahintulot: 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"

Backup at Snapshot

Ang paglikha ng isang backup o isang snapshot ay din ng isang server aksyon: