Ствара, проверава, напаја, мења величину и брисање ВПС сервера. Сервере идентификују њихови ууиди.
Враћа сервере на вашем налогу, најновије прво, 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 | ИПв4 адресе као ниске. Празни док сервер не буде покренут, и на плановима без ИПв4. |
ipv6_addresses |
array | ИПв6 адресе као ниске. Празни док сервер не буде попуњен. |
created_at |
datetime | Време стварања (ISO 8601, UTC) |
deployed |
boolean | Тачно када се одредба заврши |
| 200 | Листа сервера је успешно преузета |
| 403 | Недостаје или неисправан АПИ торент, или неисправна дозвола недостаје |
У реду за распоред и одмах га враћа са редом стања. Наставља се пружање у позадини: анкета крајњег крајњег краја стања до покретања. Када је сервер спреман, његови подаци о пријављивању биће послати поште власнику налога.
Налогу је потребан сачувани начин исплате. У зависности од историје налога, привремено припремно припремање око недељу дана од цене плана (најмање 1 лв.) може се поставити на вашу картицу пре него што се сервер направи.
Неопходна дозвола: servers:create
| Параметар | Тип | Обавезно | Опис |
|---|---|---|---|
hostname |
string | Да | Најмање 3 знака, слова, цифре, цртежи и само периоди. |
location_id |
integer | Да | ИД активне локације из АПИ локација |
plan_uuid |
string | Да | Ууид активног плана из АПИ плана |
operating_system_version_uuid |
string | Да | Ууид активног уноса на списку верзија оперативног система |
ssh_key_uuids |
array | Не. | УУИДови ССХ тастера из АПИ ССХ тастера за инсталирање на серверу |
ssh_key_ids |
array | Не. | Целобројни ИД‐ ови СХ кључева, као алтернатива 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 Направљен са објектом пуног сервера описаним под Гет Детаљи сервера. Адресе и мид су попуњени једном завршетком распореда.
{
"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 | Недостаје или неисправан АПИ торент, или неисправна дозвола недостаје |
| 429 | Ваш налог је достигао ограничење стварања сервера |
Враћа један сервер са локацијом, планом, операционим системом, ИП адресама и пет најновијих радњи.
Неопходна дозвола: 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"
}
]
}
СВГ маркирање икона и списак верзија се скраћује.
| Поље | Тип | Опис |
|---|---|---|
vmid |
integer | null | Број виртуелне машине, постављен током распореда |
location |
object | Објекат локације, који је вратио АПИ локација |
plan |
object | Планирајте објекат, који враћа АПИ Планова |
operating_system, operating_system_version |
object | Оперативни систем и инсталирана верзија, која је вратила АПИ операционих система |
ipv4_addresses, ipv6_addresses |
array | Један објект по адреси са ИП, пролазом, подмрежом и рднсом (обрнуто ДНС име домаћина) |
recent_actions |
array | До пет последњих радњи: ИД, радња, action_ display, опис, 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 |
Да ли сте на располагању. Сервери направљени из контролног панела користе ово стање; сервери направљени кроз АПИ остају у реду док не буду спремни. |
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 | Није нађена, или припада другом налогу |
Премешта сервер на други активни план. Нови план не може имати мање простора на диску од тренутног, а тело захт› ијева мора да укључује радњу постављену за промену величине. Пре него што се нешто у реду провери, пром› јена хипервизора је непром› јењена, па се одбијени захт› јев оставља непром› јену сервера.
Сервер се угаси док се мења и поново покреће. Ако промене промене неуспеха, сервер се враћа на претходни план и поново покреће ако се ради. Растући диск не може бити опозван.
Неопходна дозвола: 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 | Недостаје радња или нови_ план_ ууид, неисправан или неактиван план, план са мање простора на диску или ГПУ план (планови ГПУ‐ а не могу се променити кроз АПИ) |
| 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 | Није нађена, или припада другом налогу |
Гет набраја обрнуто ДНС име домаћина сваке ИПв4 и ИПв6 адресе на серверу. ПОСТ поставља за једну адресу. Слање празног имена домаћина поновно поставља адресу на подразум› ијевано обрнуто ДНС име.
Неопходна дозвола: servers:update
| Параметар | Тип | Обавезно | Опис |
|---|---|---|---|
ip |
string | Да | ИПв4 или ИПв6 адреса додељена овом серверу |
hostname |
string | Не. | Име домаћина ПТР‐ а. Остави празно да би се ресетовао на подразумевано. |
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 | ИП недостаје, или име домаћина није могло да се постави |
| 404 | ИП адреса није додељена овом серверу |
Извршава наредбу шкољке унутар сервера преко QEMU госте агента и чека да се заврши. Сервер мора бити покренут и покренут, а qemu- gost- 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 | КуЕМУ гост агент не ради на серверу |
| 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_ key_ uuids када стварате сервер. Гет набраја своје кључеве (25 по страници); ПОСТ додаје један.
Неопходна дозвола: ssh-keys:list (GET), ssh-keys:create (POST)
| Параметар | Тип | Обавезно | Опис |
|---|---|---|---|
name |
string | Да | Име које препознаје кључ, до 100 знакова |
public_key |
string | Да | Јавни кључ у формату OpenSSH, на пример садржај ИД_ed25519. pab |
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 и у УРЛ‐ у испод; ИД ради у ssh_ key_ ids. |
fingerprint |
string | МД5 отисак кључа, израчунао платформу |
last_used_at |
datetime | null | Када је кључ последњи пут инсталиран на новом серверу |
| 201 | Додани кључ |
| 400 | Недостаје име, или јавни кључ није ваљан јавни кључ ССХ‐ а |
Враћа један кључ са горе наведеним пољима. ДЕЛЕТЕ га уклања са налога и враћа 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 за снимке