Vytvořit, zkontrolovat, napájet, změnit velikost a odstranit VPS servery. Servery jsou identifikovány jejich uuid.
Vrací servery na vašem účtu, nejnovější první, 25 na stránku. Servery, které jsou smazány, nejsou zahrnuty.
Požadované povolení: servers:list
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
page |
integer | Ne. | Číslo stránky, začínáme od 1 |
page_size |
integer | Ne. | Výsledky na stránku (výchozí 25, max. 100) |
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
}
]
}
| Pole | Typ | Popis zboží |
|---|---|---|
uuid |
string | Identifikátor serveru použitý v každém dalším cílovém parametru serveru |
hostname |
string | Jméno, které jste si vybrali při vytváření serveru |
status |
string | Aktuální stav. Viz Stavové hodnoty serveru níže. |
error_description |
string | null | Podrobnosti o posledním selhání, kdy je stav chybou, jinak neplatné |
location_name |
string | Název umístění serveru běží v |
os_name |
string | Název operačního systému bez verze |
plan_name |
string | Přehled čitelného plánu, například 1 vCPU / 2 GB RAM / 10 GB |
ipv4_addresses |
array | IPv4 adresy jako řetězce. Prázdný až do nasazení serveru, a na plány bez IPv4. |
ipv6_addresses |
array | IPv6 se jako řetězce zadává. Prázdný, dokud server nenasadí. |
created_at |
datetime | Doba vytvoření (ISO 8601, UTC) |
deployed |
boolean | Pravda, jakmile bude opatření dokončeno |
| 200 | Seznam serverů byl úspěšně načten |
| 403 | Chybí nebo neplatná API žeton, nebo žeton postrádá požadované povolení |
Nastaví nový server pro nasazení a vrátí ho okamžitě se stavovou frontou. Poskytování pokračuje v pozadí: průzkum stavu, dokud nebude nasazen, je pravda. Po přípravě serveru jsou jeho přihlašovací údaje e-mailem majiteli účtu.
Váš účet potřebuje uložený způsob platby. V závislosti na historii vašeho účtu může být na Vaši kartu před vytvořením serveru umístěn dočasný předautorizační podíl na zhruba jednom týdnu ceny plánu (minimálně 1 USD).
Požadované povolení: servers:create
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
hostname |
string | Ano | Nejméně 3 znaky. Písmena, číslice, pomlčky a periody pouze. |
location_id |
integer | Ano | ID aktivního umístění z Lokality API |
plan_uuid |
string | Ano | Uuid aktivního plánu z Plánů API |
operating_system_version_uuid |
string | Ano | Uuid aktivního záznamu v seznamu verzí operačního systému |
ssh_key_uuids |
array | Ne. | UUIDS SSH kláves z SSH Keys API pro instalaci na server |
ssh_key_ids |
array | Ne. | Integer ids SSH keys jako alternativa k ssh_key_uuids. Pokud jsou odeslány obě, ssh_key_ids se používá. |
ssh_key_uuid, ssh_key_id |
string, integer | Ne. | Zkratka pro jediný SSH klíč |
auth_method |
string | Ne. | heslo, ssh_key nebo obojí. Výchozí heslo, nebo obojí, když jsou dodávány SSH klíče. |
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 Vytvořen s plným serverovým objektem popsaným v Get Server Detaily. Adresy a vmid jsou vyplněny jednou nasazením.
{
"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 | Server vytvořený a ve frontě pro nasazení |
| 400 | Chyba validace, například neaktivní umístění, plán nebo verze operačního systému |
| 402 | Nebyla odmítnuta platební metoda ve spisu, nezaplacených fakturách nebo předautorizace karty |
| 403 | Chybí nebo neplatná API žeton, nebo žeton postrádá požadované povolení |
| 429 | Váš účet dosáhl limitu pro vytvoření serveru |
Vrací jeden server s jeho umístěním, plánem, operačním systémem, IP adresami a pěti nejnovějšími akcemi.
Požadované povolení: 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"
}
]
}
ikona SVG markup a seznam verzí jsou zde zkráceny.
| Pole | Typ | Popis zboží |
|---|---|---|
vmid |
integer | null | Virtuální číslo stroje, nastaveno během nasazení |
location |
object | Umístění objektu, jak vrátil Lokality API |
plan |
object | Plán objekt, jak vrátil plán API |
operating_system, operating_system_version |
object | Operační systém a nainstalovaná verze, kterou vrací API operačních systémů |
ipv4_addresses, ipv6_addresses |
array | Jeden objekt na adresu s ip, brána, podsíť a rdns (verzní DNS hostname) |
recent_actions |
array | Až pět posledních akcí: id, akce, akce_display, popis, user_email, created_at |
| 200 | Úspěšně načteny podrobnosti o serveru |
| 404 | Nenalezeno, nebo patří k jinému účtu |
Lehká výzva k hlasování po vytvoření, napájení nebo změně velikosti serveru.
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
}
| Hodnota | Popis zboží |
|---|---|
queue |
Akce (nasazení, výkon, změna velikosti, obnovení) je ve frontě nebo v průběhu |
deploying |
Tento stav využívají servery vytvořené z ovládacího panelu; servery vytvořené prostřednictvím API zůstávají ve frontě, dokud nejsou připraveny. |
on |
Běh |
off |
Vypnuto |
error |
Poslední akce selhala. Viz chybový_popis. |
suspended_payment |
Suspendováno kvůli nezaplaceným fakturám |
Čtení moc akce. Stav serveru změní frontu, dokud akce neskončí.
Požadované povolení: servers:power
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
action |
string | Ano |
start: výkon zapnutýshutdown: elegantní vypnutí, vynucený, pokud host nezastavírestart: cyklus s pevným výkonem (zastavit, pak spustit)stop: v současné době provádí stejný energetický cyklus jako restart. Použijte vypnutí vypnutí pro vypnutí serveru.
|
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 | Akce byla ve frontě. |
| 400 | Chybějící nebo nepodporovaná akce |
| 402 | Začít odmítnout, protože účet má nezaplacené faktury |
| 404 | Nenalezeno, nebo patří k jinému účtu |
Přesune server na jiný aktivní plán. Nový plán nemůže mít menší prostor na disku než aktuální a subjekt žádosti musí obsahovat akci nastavenou na změnu velikosti. Hypervisor kapacita nového plánu je kontrolována před tím, než je něco ve frontě, takže odmítnutý požadavek serveru zůstává nezměněn.
Server je vypnut, zatímco je předimenzován a poté znovu spuštěn. Pokud se velikost selže, server se vrátí zpět do svého předchozího plánu a začne znovu, pokud byl spuštěn. Růst disku nelze zrušit.
Požadované povolení: servers:resize
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
action |
string | Ano | Musí být změněna velikost |
new_plan_uuid |
string | Ano | Plán na přechod do |
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"
}
Příklad odmítnuté změny velikosti (409):
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | Akce byla ve frontě. |
| 400 | Chybějící akce nebo nový plán_plan_uuid, neplatný nebo neaktivní plán, plán s menším prostorem na disku nebo plán GPU (GPU plány nelze přes API změnit) |
| 404 | Nenalezeno, nebo patří k jinému účtu |
| 409 | Změna velikosti nebo změny v úložišti již probíhá, nebo není dostatek hypervisorové kapacity pro nový plán |
| 503 | Kapacita nebyla právě nyní kontrolována. Server nebyl změněn; pokusit se později. |
Vytvoří nové kořenové heslo, vrátí ho v odpovědi a fronty změny na serveru. Nové heslo je také e-mailem na vás. Server musí být nasazen. Není potřeba žádat tělo.
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 | Akce byla ve frontě. |
| 400 | Server ještě není nasazen. |
| 404 | Nenalezeno, nebo patří k jinému účtu |
GET uvádí reverzní DNS jméno hostitele každé IPv4 a IPv6 adresy na serveru. POST ji nastaví na jednu adresu. Odeslání prázdného hostitele resetuje adresu na výchozí reverzní DNS jméno.
Požadované povolení: servers:update
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
ip |
string | Ano | IPv4 nebo IPv6 adresa přiřazená tomuto serveru |
hostname |
string | Ne. | PTR hostname. Nechte prázdné resetovat výchozí hodnotu. |
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"
}
ZÍSKAT ODPOVĚĎ:
{
"rdns": [
{"ip": "203.0.113.10", "hostname": "mail.example.com"},
{"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
]
}
| 400 | ip chybí, nebo jméno hostitele nelze nastavit |
| 404 | IP adresa není přiřazena tomuto serveru |
Spouští příkaz na shell uvnitř serveru přes agenta QEMU hosta a čeká, až ho dokončí. Server musí být nasazen a spuštěn a qemu-host-agent musí být nainstalován a běží v hostu.
Požadované povolení: servers:exec
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
command |
string | Ano | Příkazová linka běží s /bin/sh -c, až 2000 znaků |
timeout |
integer | Ne. | Vteřiny čekají na příkaz, 1 až 300 (výchozí 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
}
Pokud příkaz stále běží, když timeout vyprší, odpověď má nastavený čas_out na true a výstupní_kód nastavený na nulu.
| 200 | Příkaz dokončen nebo odpojen |
| 400 | Server není nasazen nebo není spuštěn, nebo neplatné parametry |
| 409 | QMU hostující agent není běží na serveru |
| 503 | Prozatímní problém s připojením. |
Utká server pro trvalé vymazání. Server okamžitě zmizí ze seznamu a nelze jej obnovit.
Požadované povolení: 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 | Přijato: žádost byla ve frontě |
| 404 | Nenalezeno, nebo patří k jinému účtu |
Uložte veřejné SSH klíče na svůj účet, pak projít jejich uids jako ssh_key_uuids při vytváření serveru. GET seznam klíčů (25 na stránku); POST přidá jeden.
Požadované povolení: ssh-keys:list (GET), ssh-keys:create (POST)
| Parametr | Typ | Požadovaný | Popis zboží |
|---|---|---|---|
name |
string | Ano | Jméno pro rozpoznání klíče až 100 znaků |
public_key |
string | Ano | Veřejný klíč ve formátu OpenSSH, například obsah id_ed25519.pub |
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
}
| Pole | Typ | Popis zboží |
|---|---|---|
id, uuid |
integer, string | Identifikujte klíč. Použijte uuid v ssh_key_uuids a v URL níže; id pracuje v ssh_key_ids. |
fingerprint |
string | MD5 otisk klíče, který je vypočítán platformou |
last_used_at |
datetime | null | Když byl klíč naposledy nainstalován na novém serveru |
| 201 | Přidán klíč |
| 400 | Chybějící jméno nebo veřejný klíč není platným veřejným klíčem SSH |
GET vrací jeden klíč s výše uvedenými poli. DELETE jej odstraní z vašeho účtu a vrátí 204 bez těla. Vypuštění klíče jej neodstraní ze serverů, na kterých byl již nainstalován. Klíče nelze editovat: smazat a přidat znovu.
Požadované povolení: 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"
Vytvoření zálohy nebo snímku je také akce serveru:
POST /api/v1/servers/{uuid}/backup/: API pro zálohyPOST /api/v1/servers/{uuid}/snapshot/: API pro snímky