VPS.org API

REST API dokumentacija

Serverių API

Kurkite, patikrinkite, valdykite, keiskite ir ištrinkite savo VPS serverius. Serveriai identifikuojami pagal jų uuid.

Galutiniai taškai 15
Bazinis kelias /api/v1/servers
GAUTI /api/v1/servers/

Išvardinti visus serverius

Grąžina savo paskyros serverius, naujausias pirmas, 25 per puslapį. Serveriai, kurie yra ištrintas nėra įtraukti.

Reikalingas leidimas: servers:list

Užklausos parametrai

Parametras Tipas Privaloma Aprašymas
page integer Nr. Puslapio numeris, prasidedantis nuo 1
page_size integer Nr. Rezultatai puslapio (numatyta 25, daugiausia 100)

Prašymo pavyzdys

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

Atsakymo pavyzdys

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

Atsakymo laukai

Laukas Tipas Aprašymas
uuid string Serverio identifikatorius, naudojamas visose kitose serverio vertinamosios baigties vietose
hostname string Mazgo vardas, kurį pasirinkote kuriant serverį
status string Dabartinė būsena. Žr. žemiau esančias serverio būsenos vertes.
error_description string | null Informacija apie paskutinį nesėkmę, kai būklė yra klaida, kitaip nulinė
location_name string Vietos, kurioje veikia serveris, pavadinimas
os_name string Operacinės sistemos pavadinimas, be versijos
plan_name string Skaitomoji plano santrauka, pvz., 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array IPv4 adresai kaip eilutės. Ištuštinti, kol serveris bus įdiegtas, ir planuose be IPv4.
ipv6_addresses array IPv6 adresai kaip eilutės. Ištuštinkite, kol serveris bus įdiegtas.
created_at datetime Sukūrimo laikas (ISO 8601, UTC)
deployed boolean Tikras atidėjimas baigęs

Atsakymo būsenos kodai

200 Serverių sąrašas sėkmingai gautas
403 Trūksta arba netinkamas API žetonas, arba žetonas neturi reikiamo leidimo
Potvarkis /api/v1/servers/

Sukurti naują serverį

Išrikiuoja naują serverį įdiegimui ir tuoj pat grąžina jį su būsenos eile. Nuostatos tęsiamos fone: apklauskite būsenos objektą, kol bus įdiegta. Kai serveris bus paruoštas, jo prisijungimo duomenys bus siunčiami el. paštu paskyros savininkui.

Jūsų paskyrai reikia išsaugoto mokėjimo būdo. Priklausomai nuo jūsų sąskaitos istorijos, prieš sukuriant serverį, gali būti įdėta apie vieną savaitę planinės kainos (mažiausiai 1 USD) laikina išankstinio leidimo laikmena.

Reikalingas leidimas: servers:create

Užklausos turinio parametrai

Parametras Tipas Privaloma Aprašymas
hostname string Taip Ne mažiau kaip 3 simboliai. Tik raidės, skaitmenys, gaiviosios raštinės ir laikotarpiai.
location_id integer Taip Aktyvios vietos id iš API
plan_uuid string Taip Aktyvaus plano iš planų API pateikimas
operating_system_version_uuid string Taip Aktyvaus įrašo operacinės sistemos versijų sąraše uuid
ssh_key_uuids array Nr. SSH raktų UUID iš SSH raktų API įdiegti serveryje
ssh_key_ids array Nr. SSH klavišų integralieji ids, kaip alternatyva ssh_key_uids. Jei abu yra siunčiami, naudojami ssh_key_ids.
ssh_key_uuid, ssh_key_id string, integer Nr. Vienu SSH klavišu trumpomis rankenomis
auth_method string Nr. slaptažodis, ssh_key arba abu. Numatytieji slaptažodį, arba abu, kai SSH klavišai yra tiekiamas.

Prašymo pavyzdys

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

Atsakymo pavyzdys

201 Sukurtas su pilna serverio objektas aprašytas pagal Gauti serverio informacija. Adresai ir vmid užpildyti kartą diegimo baigiasi.

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

Atsakymo būsenos kodai

201 Serveris sukurtas ir įrašytas į eilę įdiegimui
400 Patvirtinimo klaida, pvz., neaktyvi vieta, planas ar operacinės sistemos versija
402 Joks mokėjimo būdas ant bylos, nesumokėtos sąskaitos faktūros, arba kortelės išankstinio leidimo buvo atmestas
403 Trūksta arba netinkamas API žetonas, arba žetonas neturi reikiamo leidimo
429 Jūsų paskyra pasiekė serverio sukūrimo ribą
GAUTI /api/v1/servers/{uuid}/

Gaukite serverio informaciją

Grįžta vienas serveris su savo buvimo vieta, planas, operacinė sistema, IP adresai ir penki naujausi veiksmai.

Reikalingas leidimas: servers:list

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

Atsakymo pavyzdys

{
  "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 piktogramų žymėjimas ir versijų sąrašas sutrumpinti čia.

Atsakymo laukai

Laukas Tipas Aprašymas
vmid integer | null Virtualus mašinos numeris, nustatytas diegimo metu
location object Vietos objektas, kurį grąžino vietos API
plan object Plano objektas, kaip grąžino Planai API
operating_system, operating_system_version object Operacinė sistema ir įdiegta versija, kaip grąžino operacinių sistemų API
ipv4_addresses, ipv6_addresses array Vienas objektas vienam adresui su ip, vartojimu, subnetu ir rdnsu (pakaitinis DNS serveris)
recent_actions array Iki penkių naujausių veiksmų: id, action, action_display, description, user_email, created_at

Atsakymo būsenos kodai

200 Sėkmingai gauti serverio duomenys
404 Nerasta, arba ji priklauso kitai paskyrai
GAUTI /api/v1/servers/{uuid}/status/

Gauti serverio būseną

Lengvas skambutis apklausai po to, kai sukursite, įjungsite ar pakeisite 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
}

Serverio būsenos reikšmės

Vertė Aprašymas
queue Veiksmas (įtempimas, galia, dydžio keitimas, atkūrimas) yra į eilę arba vyksta
deploying Yra numatyta. Serveriai, sukurti iš valdymo pulto, naudoja šią būseną; serveriai, sukurti per API buvimo eilėje, kol jie bus paruošti.
on Vykdoma
off Išjungta
error Paskutinis veiksmas nepavyko. Matykite klaidos_ apibūdinimą.
suspended_payment Sustabdyta dėl nesumokėtų sąskaitų faktūrų
Potvarkis /api/v1/servers/{uuid}/power/

Valdymo serverio galia

Išrina galios veiksmą. Serverio būsena keičiasi į eilę, kol veiksmas bus baigtas.

Reikalingas leidimas: servers:power

Užklausos turinio parametrai

Parametras Tipas Privaloma Aprašymas
action string Taip start: galia
shutdown: grakštus išjungimas, priverstinis išjungti, jei svečias nesustoja
restart: kietosios galios ciklas (stabdyti, tada pradėti)
stop: Šiuo metu veikia tą patį energijos ciklą kaip ir paleidimas iš naujo. Išjungus serverį, naudoti išjungimą.

Prašymo pavyzdys

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

Atsakymo pavyzdys

{
  "message": "Server restart queued"
}

Atsakymo būsenos kodai

200 Veiksmas buvo įrašytas į eilę
400 Trūkstamas arba nepalaikomas veiksmas
402 pradėti atsisakyti, nes sąskaita turi nesumokėtas sąskaitas
404 Nerasta, arba ji priklauso kitai paskyrai
Potvarkis /api/v1/servers/{uuid}/resize/

Keisti serverio dydį

Perkelia serverį į kitą aktyvų planą. Naujasis planas negali turėti mažiau vietos diske nei dabartinis, o užklausa turi apimti veiksmus, kurie bus nustatyti keisti. Prieš nieko įkėlimą tikrinama hipervizorinė talpa naujam planui, todėl atsisakyta užklausa serverį palieka nepakeistą.

Serveris išjungiamas, kol jis yra perskaičiuotas, ir vėl paleidžiamas po to. Jei keisti dydį nepavyksta, serveris vėl perkeliamas į ankstesnį planą ir vėl pradedamas, jei jis buvo paleistas. Diskų augimo negalima atšaukti.

Reikalingas leidimas: servers:resize

Užklausos turinio parametrai

Parametras Tipas Privaloma Aprašymas
action string Taip Turi būti pakeistas dydis
new_plan_uuid string Taip Plano eilė, į kurią reikia pereiti
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"
}

Atsisakyta keisti dydį (409) pavyzdys:

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

Atsakymo būsenos kodai

200 Veiksmas buvo įrašytas į eilę
400 Trūksta veiksmo arba naujo_plan_uid, netinkamas ar neaktyvus planas, planas su mažesne vieta diske, arba GPU planas (GPU planai negali būti perskaičiuojami per API)
404 Nerasta, arba ji priklauso kitai paskyrai
409 Jau vyksta dydžio ar saugojimo pakeitimas, arba naujajam planui nepakanka hipervizorinio pajėgumo
503 Talpa dabar negali būti tikrinama. Serveris nebuvo pakeistas; mėginti vėliau.
Potvarkis /api/v1/servers/{uuid}/reset-password/

Atstatyti šaknies slaptažodį

Generuoja naują root slaptažodį, jį grąžina į atsakymą ir eilėse keičia serveryje esantį slaptažodį. Naujas slaptažodis taip pat siunčiamas jums elektroniniu paštu. Serveris turi būti įdiegtas. Nėra reikalo.

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

Atsakymo būsenos kodai

200 Veiksmas buvo įrašytas į eilę
400 Serveris dar neįdiegtas
404 Nerasta, arba ji priklauso kitai paskyrai
GAUTI Potvarkis /api/v1/servers/{uuid}/rdns/

Atbulinis DNS (PTR)

GET išvardija atvirkštinį kiekvieno IPv4 ir IPv6 adreso DNS kompiuterio pavadinimą serveryje. Podėlis jį nustato vienam adresui. Išsiuntus tuščią kompiuterio vardą, adresas iš naujo nustatomas pagal jo numatytą atvirkštinį DNS pavadinimą.

Reikalingas leidimas: servers:update

Užklausos turinio parametrai (POST)

Parametras Tipas Privaloma Aprašymas
ip string Taip Šiam serveriui priskirtas IPv4 arba IPv6 adresas
hostname string Nr. PTR kompiuterio vardas. Palikite tuščią, jei norite iš naujo nustatyti numatytąjį.
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 atsakas:

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

Atsakymo būsenos kodai

400 ip trūksta, arba kompiuterio vardas negali būti nustatytas
404 IP adresas nėra priskirtas šiam serveriui
Potvarkis /api/v1/servers/{uuid}/exec/

Paleisti komandą serveryje

Per QEMU svečių agentą serveryje paleidžia apvalkalo komandą ir laukia jos užbaigimo. Serveris turi būti dislokuotas ir paleistas, o Qemu- guest- agentas turi būti įdiegtas ir veikia svečie.

Reikalingas leidimas: servers:exec

Užklausos turinio parametrai

Parametras Tipas Privaloma Aprašymas
command string Taip Komandinė eilutė su /bin/sh -c, iki 2000 simbolių
timeout integer Nr. Sekundės, kol laukia komanda, 1 to 300 (numatyta 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
}

Jei komanda vis dar veikia pasibaigus laukti, atsakymas buvo nustatytas laiko_ išjungimo reikšmėn ir išeities_kodas nustatytas nulinės.

Atsakymo būsenos kodai

200 Komanda baigta arba baigėsi laikas
400 Serveris neįdiegtas arba neveikia, arba netinkami parametrai
409 Pakviestasis QEMU agentas neveikia serveryje
503 Laikina prisijungimo problema. Bandyti vėl po kartojimo- po antraštės.
IŠTRINTI /api/v1/servers/{uuid}/

Ištrinti serverį

Ištrina serverį visam laikui. Serveris iš sąrašo iš karto išnyksta ir negali būti išieškotas.

Reikalingas leidimas: 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"
}

Atsakymo būsenos kodai

202 Priimta: prašymas buvo įrašytas į eilę
404 Nerasta, arba ji priklauso kitai paskyrai
GAUTI Potvarkis /api/v1/ssh-keys/

SSH raktai

Saugokite viešus SSH klavišus savo paskyroje, tada perduoti jų uuids kaip ssh_key_uids kai jūs sukuriate serveris. GET išvardija savo raktus (25 puslapyje); Point priduria vieną.

Reikalingas leidimas: ssh-keys:list (GET), ssh-keys:create (POST)

Užklausos turinio parametrai (POST)

Parametras Tipas Privaloma Aprašymas
name string Taip Pavadinimas raktui atpažinti iki 100 simbolių
public_key string Taip Viešasis raktas OpenSSH formatu, pavyzdžiui, id_ed25519.pub turinys

Prašymo pavyzdys

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

Atsakymo pavyzdys

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

Atsakymo laukai

Laukas Tipas Aprašymas
id, uuid integer, string Raktų identifikatoriai. Naudokite uuid ssh_key_uids ir žemiau esančiame URL; id veikia ssh_key_ids.
fingerprint string Platformos suskaičiuojami rakto MD5 pirštų atspaudai
last_used_at datetime | null Kai raktas paskutinį kartą buvo įdiegtas naujame serveryje

Atsakymo būsenos kodai

201 Pridėtas raktas
400 Trūkstamas pavadinimas, arba viešasis raktas nėra galiojantis SSH viešasis raktas
GAUTI IŠTRINTI /api/v1/ssh-keys/{uuid}/

Gauti arba ištrinti SSH raktą

GET grąžina vieną raktą su laukeliais, esančiais aukščiau. DELETE pašalina jį iš paskyros ir grąžina 204 be kūno. Rakto išsiuntimas nepašalina jo iš serverių, į kuriuos jis jau buvo įdiegtas. Raktai negali būti redaguoti: ištrinti ir pridėti iš naujo.

Reikalingas leidimas: 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"

Kopijavimo ir fotografavimo priemonės

Kuriant atsarginę kopiją arba momentinę medžiagą taip pat yra serverio veiksmas: