VPS.org API

REST API dokumentācija

Serveru API

Izveidot, pārbaudīt, ielādēt, mainīt izmēru un dzēst savu VPS serveri. Serveri tiek identificēti pēc to uuid.

Galapunkti 15
Bāzes ceļš /api/v1/servers
IEGŪT /api/v1/servers/

Uzskaitīt visus serverus

Atgriež serveri savā kontā, jaunākā pirmā, 25 par lapu. Serveri, kas tiek dzēsti, nav iekļauti.

Nepieciešamā atļauja: servers:list

Vaicājuma parametri

Parametrs Tips Obligāti Apraksts
page integer Nē Lapas numurs, sākot ar 1
page_size integer Nē Rezultāti lapā (noklusētā 25, maksimāli 100)

Pieprasījuma piemērs

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

Atbildes piemērs

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

Atbildes lauki

Lauks Tips Apraksts
uuid string Servera identifikators, ko izmanto visos pārējos servera mērķparametros
hostname string Resursdators, kuru izvēlējāties, veidojot serveri
status string Pašreizējais stāvoklis. Skatīt servera statusa vērtības zemāk.
error_description string | null Informācija par pēdējo kļūdu, kad statuss ir kļūdains, pretējā gadījumā nulle
location_name string Servera darbības vietas nosaukums
os_name string Darbības sistēmas nosaukums, bez versijas
plan_name string Lasāms plāna kopsavilkums, piemēram, 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array IPv4 adreses kā virknes. Tukšas līdz servera ievietošanai un plānos bez IPv4.
ipv6_addresses array IPv6 adreses kā virknes. Tukšas, līdz serveris ir izvietots.
created_at datetime Izveides laiks (ISO 8601, UTC)
deployed boolean Patiesa, kad nodrošinājums ir pabeigts

Atbildes statusa kodi

200 Serveru saraksts veiksmīgi izgūts
403 Trūkst vai nav spēkā API žetons, vai žetonam trūkst nepieciešamās atļaujas
POSMS /api/v1/servers/

Izveidot jaunu serveri

Ievieto jaunu serveri izvietošanai un nekavējoties atgriež to ar statusa rindu. Nodrošinājums turpinās fonā: aptauja statusa galapunkts līdz ievietošana ir patiesa. Kad serveris ir gatavs, tā pieteikšanās informācija tiek nosūtīta uz e-pastu konta īpašniekam.

Jūsu kontam ir nepieciešams saglabāt maksājumu metodi. Atkarībā no konta vēstures, pirms servera izveidošanas uz kartes var novietot īslaicīgu pirmsautorizāciju, kuras laikā tiek samaksāta aptuveni viena nedēļa no plāna cenas (vismaz 1 USD).

Nepieciešamā atļauja: servers:create

Pieprasījuma pamatteksta parametri

Parametrs Tips Obligāti Apraksts
hostname string Jā Vismaz 3 zīmes. Tikai burti, cipari, hifeni un periodi.
location_id integer Jā Aktīvās atrašanās vietas id no atrašanās vietas API
plan_uuid string Jā Aktīva plāna iekļaušana plānos API
operating_system_version_uuid string Jā Aktīva ieraksta uuid operētājsistēmas versiju sarakstā
ssh_key_uuids array Nē SSH taustiņu UUID no SSH Keys API instalēt uz servera
ssh_key_ids array Nē SSH taustiņu integrālās ids, kā alternatīvu ssh_ key_ uuids. Ja abi tiek nosūtīti, tiek izmantoti ssh_ key_ids.
ssh_key_uuid, ssh_key_id string, integer Nē Īsrokas vienu SSH taustiņu
auth_method string Nē parole, ssh_key vai abi. Noklusētie parole, vai abiem, ja SSH taustiņi tiek piegādāti.

Pieprasījuma piemērs

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

Atbildes piemērs

201 Izveidots ar pilnu servera objekts aprakstīts sadaļā Get Server Detaļas. Adreses un vmid tiek aizpildīti pēc izvietošanas apdares.

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

Atbildes statusa kodi

201 Serveris izveidots un rindās izvēršanai
400 Validācijas kļūda, piemēram, neaktīva atrašanās vietas, plāna vai operētājsistēmas versija
402 Nav maksājuma metode par failu, neapmaksāti rēķini, vai kartes pirms atļaujas netika noraidīta
403 Trūkst vai nav spēkā API žetons, vai žetonam trūkst nepieciešamās atļaujas
429 Jūsu konts ir sasniedzis servera izveides ierobežojumu
IEGŪT /api/v1/servers/{uuid}/

Iegūt servera informāciju

Atgriež vienu serveri ar savu atrašanās vietu, plānu, operētājsistēmu, IP adreses un piecas jaunākās darbības.

Nepieciešamā atļauja: servers:list

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

Atbildes piemērs

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

Šeit tiek saīsināts SVG ikonu marķējums un versiju saraksts.

Atbildes lauki

Lauks Tips Apraksts
vmid integer | null Virtuālais mašīnas numurs, iestatīts izvietošanas laikā
location object Atrašanās vietas objekts, ko atgriezusi Atrašanās vieta API
plan object Plāna objekts, kā atgriezts no plāniem API
operating_system, operating_system_version object Operatīvā sistēma un uzstādītā versija, kā to atdevusi operētājsistēmas API
ipv4_addresses, ipv6_addresses array Viens objekts uz adresi ar ip, vārteju, subtīklu un rdnsu (apgrieztā DNS datora nosaukums)
recent_actions array Līdz piecām jaunākajām darbībām: id, action, action_display, description, user_ email, made_at

Atbildes statusa kodi

200 Servera informācija veiksmīgi izgūta
404 Nav atrasts, vai arī tas pieder citam kontam
IEGŪT /api/v1/servers/{uuid}/status/

Iegūst servera statusu

Viegls uzaicinājums uz konkursu pēc servera izveidošanas, jaudas vai izmēra maiņas.

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
}

Servera statusa vērtības

Vērtība Apraksts
queue Darbība (izstādīšana, vara, izmēru maiņa, atjaunošana) ir rindā vai notiek
deploying Tiek nodrošināti. Serveri, kas izveidoti no vadības paneļa, izmanto šo stāvokli; serveri, kas izveidoti, izmantojot API palikt rindā, līdz tie ir gatavi.
on Darbojas
off Atslēgts
error Pēdējais pasākums neizdevās. Skatīt kļūdu_ aprakstu.
suspended_payment Apturēja neapmaksātu rēķinu dēļ
POSMS /api/v1/servers/{uuid}/power/

Vadības servera jauda

Ierindo jaudas darbību. Servera statuss mainās rindā, līdz darbība ir pabeigta.

Nepieciešamā atļauja: servers:power

Pieprasījuma pamatteksta parametri

Parametrs Tips Obligāti Apraksts
action string Jā start: jauda
shutdown: graciozs izslēgšana, nospiesta, ja viesis neapstājas
restart: cietas jaudas cikls (apstājies, pēc tam palaist)
stop: šobrīd darbojas tas pats barošanas cikls, kad atsākt darbību. Izmantojiet izslēgtu, lai izņemtu serveri.

Pieprasījuma piemērs

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

Atbildes piemērs

{
  "message": "Server restart queued"
}

Atbildes statusa kodi

200 Prasība tika ierindota rindā
400 Trūkstoša vai neatbalstīta darbība
402 sākt atteikts, jo kontā ir neapmaksāti rēķini
404 Nav atrasts, vai arī tas pieder citam kontam
POSMS /api/v1/servers/{uuid}/resize/

Mainīt servera izmēru

Pārvieto serveri uz citu aktīvo plānu. Jaunajam plānam nevar būt mazāka vieta uz diska nekā pašreizējam, un pieprasījuma iestādei ir jāietver izmaiņas darbības. Pirms tiek atzīmēta jaunajam plānam nepieciešamā hipervizora jauda, tāpēc noraidītais pieprasījums nemaina servera stāvokli.

Serveris tiek izslēgts, kamēr tas tiek mainīts un sākts pēc tam. Ja mainīšana neizdodas, serveris tiek nolikts atpakaļ uz iepriekšējā plāna un sākts no jauna, ja tas darbojas. Disku augšanu nevar atsaukt.

Nepieciešamā atļauja: servers:resize

Pieprasījuma pamatteksta parametri

Parametrs Tips Obligāti Apraksts
action string Jā Jāpārveido izmērs
new_plan_uuid string Jā Plāna mērķis ir pāriet uz
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"
}

Piemērs, kad atteikts mainīt izmēru (409):

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

Atbildes statusa kodi

200 Prasība tika ierindota rindā
400 Trūkst darbības vai jauns_ plan_ uuid, nederīgs vai neaktīvs plāns, plāns ar mazāku vietu uz diska, vai GPU plāns (GPU plānus nevar mainīt, izmantojot API)
404 Nav atrasts, vai arī tas pieder citam kontam
409 Jau notiek izmaiņas lieluma vai uzglabāšanas apjomā, vai arī jaunajam plānam nav pietiekamas hipervizora jaudas
503 Ietilpība nav pārbaudīta tieši tagad. Serveris netika mainīts; vēlāk mēģināt vēlreiz.
POSMS /api/v1/servers/{uuid}/reset-password/

Atstatīt saknes paroli

Ģenerē jaunu saknes paroli, atgriež to atbildē un rindās izmaiņas serverī. Jums tiek nosūtīta arī jaunā parole. Serveris ir jāizvieto. Nav nepieciešams pieprasīto struktūru.

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

Atbildes statusa kodi

200 Prasība tika ierindota rindā
400 Serveris vēl nav izvietots
404 Nav atrasts, vai arī tas pieder citam kontam
IEGŪT POSMS /api/v1/servers/{uuid}/rdns/

Atgriezeniskais DNS (PTR)

GET sarakstā katras IPv4 un IPv6 adreses reverso DNS datora nosaukumu uz servera. Pēc tam to uzstādīs uz vienu adresi. Tukša datora nosaukuma nosūtīšana pārstādina adresi uz tā noklusēto reverso DNS nosaukumu.

Nepieciešamā atļauja: servers:update

Pieprasījuma pamatteksta parametri (POST)

Parametrs Tips Obligāti Apraksts
ip string Jā Šim serverim piešķirta IPv4 vai IPv6 adrese
hostname string Nē PTR datora nosaukums. Atstāj tukšu, lai no jauna iestatītu noklusēto.
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 atbildes reakcija:

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

Atbildes statusa kodi

400 ip trūkst, vai datora nosaukumu nevar iestatīt
404 IP adrese nav piešķirta šim serverim
POSMS /api/v1/servers/{uuid}/exec/

Palaist komandu uz servera

Palaiž čaulas komandu servera iekšpusē caur QEMU viesu aģentu un gaida līdz galam. Serveris ir jāizvieto un jādarbojas, un Qemu- guest- aģents ir jāuzstāda un jādarbojas viesim.

Nepieciešamā atļauja: servers:exec

Pieprasījuma pamatteksta parametri

Parametrs Tips Obligāti Apraksts
command string Jā Komandrinda iet ar /bin/sh - c, līdz 2000 rakstzīmēm
timeout integer Nē Sekundes, lai gaidītu komandu, 1 līdz 300 (noklusētais 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
}

Ja komanda vēl darbojas, kad noildze beidzas, atbilde ir laika norādīšana uz īsto un izejošo_kodu, kas iestatīta nulle.

Atbildes statusa kodi

200 Komanda pabeigta vai nokavēts laiks
400 Serveris nav izvietots vai nedarbojas, vai nederīgi parametri
409 QEMU viesu aģents nedarbojas uz servera
503 Pagaidu savienojuma problēma. Mēģināt vēlreiz pēc kārtsvārstības.
DZĒST /api/v1/servers/{uuid}/

Dzēst serveri

Ielādē serveri pastāvīgai dzēšanai. Serveris izzūd uzreiz no saraksta un to nevar atgūt.

Nepieciešamā atļauja: 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"
}

Atbildes statusa kodi

202 Pieņemts: pieprasījums tika rindā
404 Nav atrasts, vai arī tas pieder citam kontam
IEGŪT POSMS /api/v1/ssh-keys/

SSH taustiņi

Store public SSH keys in your account, then pass their uuids as ssh_key_uuids when you create a server. GET lists your keys (25 per page); POST adds one.

Nepieciešamā atļauja: ssh-keys:list (GET), ssh-keys:create (POST)

Pieprasījuma pamatteksta parametri (POST)

Parametrs Tips Obligāti Apraksts
name string Jā Nosaukums, kas atpazīs atslēgu ar līdz 100 rakstzīmēm
public_key string Jā Publiskā atslēga OpenSSH formātā, piemēram, saturu id_ed25519.pub

Pieprasījuma piemērs

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

Atbildes piemērs

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

Atbildes lauki

Lauks Tips Apraksts
id, uuid integer, string Atslēgas identifikatori. Izmanto uuid š_key_uuids un zemāk esošajā URL; id darbojas ssh_key_ids.
fingerprint string Ar platformu aprēķinātie atslēgas pirkstu nospiedumi MD5
last_used_at datetime | null Kad atslēga pēdējo reizi tika uzstādīta jaunā serverī

Atbildes statusa kodi

201 Paraksts
400 Trūkstot nosaukuma, vai publiskā atslēga nav derīga SSH publiskā atslēga
IEGŪT DZĒST /api/v1/ssh-keys/{uuid}/

Iegūst vai dzēst SSH atslēgu

GET atgriež vienu atslēgu ar laukiem, kas ir augstāk. DELETE to noņem no konta un atgriež 204 bez ķermeņa. Atslēgas dzēšana neizņem to no serveriem, kas jau tika uzstādīts. Atslēgas nevar rediģēt: dzēst un pievienot vēlreiz.

Nepieciešamā atļauja: 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"

Rezerves un snapshot

Rezerves kopu vai momentuzņēmumu izveide ir arī servera darbība: