Креирајте, проверете, напојувајте, менувајте и избришете ги вашите VPS- сервери. Серверите се идентификуваат по нивниот uuid.
Враќа серверите во вашата сметка, најновите, 25 на страница. Серверите кои се избришани не се вклучени.
Неопходна дозвола: servers:list
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
page |
integer | Не. | Број на страницата, почнувајќи од 1 |
page_size |
integer | Не. | Резултати на страница (подразбирано 25, максимум 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
}
]
}
| Поле | Тип | Опис |
|---|---|---|
uuid |
string | Идентификатор на серверот кој се користи во секоја друга крајна точка на серверот |
hostname |
string | Име на компјутерот што го избравте при креирањето на серверот |
status |
string | Тековна состојба. Види ги вредностите на статусот на серверот подолу. |
error_description |
string | null | Детали за последната грешка кога е грешка во статусот, во спротивно нули |
location_name |
string | Име на локацијата во која се наоѓа серверот |
os_name |
string | Име на оперативниот систем без верзијата |
plan_name |
string | Преглед на планот за читање, на пример 1 vCPU / 2 GB RAM / 10 GB |
ipv4_addresses |
array | IPv4 адреси како низи. Празно е додека серверот не биде распореден и на планови без IPv4. |
ipv6_addresses |
array | IPv6 адреси како низи. Празно додека серверот не биде распореден. |
created_at |
datetime | Време на создавање (ISO 8601, UTC) |
deployed |
boolean | Вистина е кога ќе заврши подготовката |
| 200 | Успешно преземена е листата на сервери |
| 403 | Недостасува или невалиден API- токен, или на токму тоа му недостига потребната дозвола |
Го реди новиот сервер за распоредување и веднаш го враќа со статусната редица. Наоѓањето продолжува во позадината: анкетирајте го крајниот крајниот крај на статусот додека не се активира. Кога серверот е подготвен, неговите детали за најава се испраќаат до сопственикот на сметката.
На вашата сметка му треба зачуван метод на плаќање. Во зависност од вашата историја на сметката, привремено пре-авторизација на околу една недела од цената на планот (најмалку 1 USD) може да биде ставена на вашата картичка пред да биде создаден серверот.
Неопходна дозвола: servers:create
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
hostname |
string | Да | Најмалку 3 знаци, букви, цифри, цртежи и периоди. |
location_id |
integer | Да | Ид. на активна локација од API за локацији |
plan_uuid |
string | Да | Ууид на активен план од API Плановите |
operating_system_version_uuid |
string | Да | Ууид на активен внес во листата на верзии на оперативен систем |
ssh_key_uuids |
array | Не. | UUIDs на SSH- клучеви од SSH- тастери API за инсталирање на серверот |
ssh_key_ids |
array | Не. | Целобројни ИД- ид на SSH- клучевите, како алтернатива на ssh_ key_ uuids. Ако и двете се испратени, се користат ssh_ key_ ids. |
ssh_key_uuid, ssh_key_id |
string, integer | Не. | Кратка рака за еден SSH- тастер |
auth_method |
string | Не. | лозинка, ssh_ key или и двете. Стандардно е за лозинка или за двете кога се доставени SSH копчиња. |
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 Создаден со цел објект на серверот опишан во Набавете детали за серверот. Адресите и mid се пополнети со еднаш завршување на распоредувањето.
{
"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 | Серверот е креиран и поставен во редица за распоредување |
| 400 | Грешка при овластување, на пример, неактивна локација, план или верзија на оперативниот систем |
| 402 | Нема метод на плаќање на датотеката, неплатени фактури или пред-авторизацијата на картичката беше одбиена |
| 403 | Недостасува или невалиден API- токен, или на токму тоа му недостига потребната дозвола |
| 429 | Вашата сметка ја достигна својата ограничување за создавање на серверот |
Враќа еден сервер со својата локација, план, оперативен систем, IP адреси и петте најнови акции.
Неопходна дозвола: 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"
}
]
}
SVG- маркирањето на иконите и листата на верзии се скратува тука.
| Поле | Тип | Опис |
|---|---|---|
vmid |
integer | null | Број на виртуелната машина, поставена за време на распоредувањето |
location |
object | Објекат за локација, вратен од API за локацији |
plan |
object | Планирај објект, како што е вратено од API Планови |
operating_system, operating_system_version |
object | Оперативниот систем и инсталираната верзија, вратена од API оперативните системи |
ipv4_addresses, ipv6_addresses |
array | Еден објект по адреса со iP, gateway, podmrežа и rdns (обрнување на DNS- име на компјутерот) |
recent_actions |
array | До пет најнови дејства: id, action, action_ display, opis, user_ email, created_at |
| 200 | Успешно преземени детали за серверот |
| 404 | Не е пронајдено или припаѓа на друга сметка |
Лесен повик за анкета по создавањето, напојувањето или промената на големината на серверот.
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
}
| Вредност | Опис |
|---|---|
queue |
Акција (поместување, полна сила, промена на големината, обновување) е во редица или во тек |
deploying |
Да бидат обезбедени. Серверите создадени од контролната панела користат оваа состојба; серверите создадени преку API остануваат во редица додека не бидат подготвени. |
on |
Извршено |
off |
Исклучено |
error |
Последната акција не успеа. Видете грешка_ опис. |
suspended_payment |
Суспендиран поради неплатени фактури |
Ред на акција со погон. Статусот на серверот се менува во редица додека акцијата не заврши.
Неопходна дозвола: servers:power
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
action |
string | Да |
start: Вклучи/ Исклучиshutdown: грациозно исклучување, отфрлено ако гостинот не запреrestart: тешкиот циклус на напојување (застани, потоа стартувај)stop: Моментално го извршува истиот циклус на напојување како рестартирање. Користете го исклучувањето за да го оставите серверот исклучен.
|
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 | Дејството беше во редица |
| 400 | Исчезнато или неподдржано дејство |
| 402 | почеток одбиен бидејќи сметката има неплатени фактури |
| 404 | Не е пронајдено или припаѓа на друга сметка |
Го преместува серверот на друг активен план. Новиот план не може да има помалку простор на диск од тековниот, а телото на барањето мора да вклучува дејство кое ќе го промени големината. Капацитетот на Hypervisor за новиот план се проверува пред да биде поставен во редица, па затоа одбиеното барање го остава серверот непроменет.
Серверот се исклучува додека се менува и се стартува повторно. Ако не успее промената на големината, серверот се враќа на претходниот план и се стартува повторно ако работи. Растоењето на дискот не може да биде поништено.
Неопходна дозвола: servers:resize
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
action |
string | Да | Мора да се промени големината |
new_plan_uuid |
string | Да | Ууид на планот да се преселиме во |
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"
}
Пример за одбиена големина (409):
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | Дејството беше во редица |
| 400 | Недостасува акција или new_ plan_ uuid, невалиден или неактивен план, план со помалку простор на дискот или GPU- план (плановите на GPU не можат да се сменат преку API) |
| 404 | Не е пронајдено или припаѓа на друга сметка |
| 409 | Промена на големина или смена на складиште веќе е во тек, или нема доволно капацитет за хипервизор за новиот план |
| 503 | Капацитетот не можеше да биде проверен во моментов. Серверот не беше променет; повторете подоцна. |
Генерира нова корена лозинка, ја враќа во одговорот и ја врши промената на серверот. Исто така, ви е испратена новата лозинка. Серверот мора да биде распореден. Не е потребно тело за барање.
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 | Дејството беше во редица |
| 400 | Серверот не е активиран сеуште |
| 404 | Не е пронајдено или припаѓа на друга сметка |
GET го посетува обратното DNS- име на секоја IPv4 и IPv6 адреса на серверот. POST го поставува за една адреса. Испраќањето на празното име на име ја ресетира адресата на нејзиното стандардно DNS име.
Неопходна дозвола: servers:update
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
ip |
string | Да | IPv4 или IPv6- адреса доделена на овој сервер |
hostname |
string | Не. | Името на компјутерот PTR. Оставете празно за да го ресетирате стандардното. |
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"
}
Одговор на получење:
{
"rdns": [
{"ip": "203.0.113.10", "hostname": "mail.example.com"},
{"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
]
}
| 400 | iP недостасува или името на компјутерот не може да биде поставено |
| 404 | ИП- адресата не е доделена на овој сервер |
Извршува команда на shell во серверот преку QEMU гостинскиот агент и чека да заврши. Серверот мора да биде распореден и извршен, а qemu- goest- agent мора да биде инсталиран и да работи во гостите.
Неопходна дозвола: servers:exec
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
command |
string | Да | Командна линија извршува со / bin/sh - c, до 2000 знаци |
timeout |
integer | Не. | Секунди за чекање на командата, 1 до 300 (стандардно 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
}
Ако командата сѐ уште работи кога истекува времето, одговорот е поставен на true и exit_ code е поставен на null.
| 200 | Командата заврши или истече времето |
| 400 | Серверот не е активиран или не работи, или невалидни параметри |
| 409 | QEMU гостинскиот агент не работи на серверот |
| 503 | Проблем со привременото поврзување. Повтори се по заглавието Повторување- Последниот. |
Го реди серверот за трајно бришење. Серверот исчезнува од листата веднаш и не може да биде пронајден.
Неопходна дозвола: 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 | Прифатено: барањето беше во редица |
| 404 | Не е пронајдено или припаѓа на друга сметка |
Зачувајте ги јавните SSH- клучеви во вашата сметка, а потоа ги подавајте нивните uuids како ssh_ key_ uuids кога создавате сервер. Get lists your keys (25 per page); POST додава еден.
Неопходна дозвола: ssh-keys:list (GET), ssh-keys:create (POST)
| Параметр | Тип | Задолжително | Опис |
|---|---|---|---|
name |
string | Да | Име со кое ќе се препознае клучот, до 100 знаци |
public_key |
string | Да | Јавниот клуч во форматот OpenSSH, на пример содржината на 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
}
| Поле | Тип | Опис |
|---|---|---|
id, uuid |
integer, string | Идентификатори на клуч. Користете uuid во ssh_ key_ uuids и во URL- те под; id работи во ssh_ key_ ids. |
fingerprint |
string | MD5 отпечаток на клучот, пресметан од платформата |
last_used_at |
datetime | null | Кога клучот беше последен пат инсталиран на нов сервер |
| 201 | Додаден клуч |
| 400 | Фали име или јавниот клуч не е валиден SSH јавен клуч |
Враќа еден клуч со полињата горе. DELETE го отстранува од вашата сметка и го враќа 204 без тело. Бришењето на клучот не го отстранува од серверите на кои е веќе инсталиран. Клучевите не можат да се уредуваат: избришајте и додадете повторно.
Неопходна дозвола: 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"
Креирањето заштитна копија или снимка е исто така дејство на серверот:
POST /api/v1/servers/{uuid}/backup/: API за резервни копииPOST /api/v1/servers/{uuid}/snapshot/: API за слики