Creare, inspectare, potentiare, redimensionare et deletae sunt servorum VPS. Servitores per uuid identificati sunt.
Serviles in tuo contu restituit, novam primum, 25 per paginam. Serviles qui eliminati sunt non inclusi sunt.
Permissio necesse: servers:list
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
page |
integer | No | Numerus paginarum, a 1 incipiens |
page_size |
integer | No | Numerus paginarum (default 25, maximum 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
}
]
}
| Campo | Typus | Descriptio |
|---|---|---|
uuid |
string | Servitor identificatio in hoc servitore in hoc servitore |
hostname |
string | Nomen hostium quod tu in creatione servitii electus es |
status |
string | Status hodiernus. Vide Servitor Status Valores infra. |
error_description |
string | null | Descriptio ultimae faulis cum status error sit, aliquando null |
location_name |
string | Nomen loci in quo servitor in executione est |
os_name |
string | Nomen systematis operandi, versio non esse |
plan_name |
string | Readable plan summary, for example 1 vCPU / 2 GB RAM / 10 GB |
ipv4_addresses |
array | IPv4 adressae ut stringhi. Vacuus usque ad servitum deployatum, et in planibus IPv4 non habentibus. |
ipv6_addresses |
array | IPv6 adressae ut stringhi. Vacuus usque ad servitum deployendum. |
created_at |
datetime | Tempore UTC (ISO 8601) |
deployed |
boolean | Verum cum provisionatio finita est |
| 200 | Index servorum feliciter recuperatus est |
| 403 | Token API mancant vel invalidus, aut token permissum necesse non habet |
Inquerit novum servitum ad deploymentum et immediate cum status queue restituit. Provisionatio in background continuat: status finalis punctum interrogationem usque ad deployment est vera. Cum servitum praebetur, eius conectionis descriptio proprietario conti per e-mail est.
Tuus conatus methodam pagorum conservatam necessitat. Dependens de historia tuus conatus, temporaria preautorizationis rete circa unam sectam planis premiis (minimum 1 USD) in tuum cartum posita potest antequam servitor creatus est.
Permissio necesse: servers:create
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
hostname |
string | Ita | At minima 3 caracteres. Letteras, numerales, conjunctiones et puncta solum. |
location_id |
integer | Ita | Id loci activi ex API Locationis |
plan_uuid |
string | Ita | Uuid planis activi ex API Planum |
operating_system_version_uuid |
string | Ita | Uuid activae inscriptionis in systemate operandi versionum lista |
ssh_key_uuids |
array | No | Pagina interretialis de S.E.S. in pagina de S.E.S. in pagina de S.E.S. in pagina de S.E.S. |
ssh_key_ids |
array | No | Integer IDs SSH clavis, ut alternativa ad ssh_key_uuids. Si ambo sunt mandata, ssh_key_ids est utitur. |
ssh_key_uuid, ssh_key_id |
string, integer | No | Abbreviatio pro singulis SSH clavis |
auth_method |
string | No | password, ssh_key aut ambo. Defaults to password, or to both when SSH keys are provided. |
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 Creatus cum servitore pleno in Get Server Details descripto. Adressae et vmid cum deployment finitur infillantur.
{
"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 | Servitor creatus et in columnam pro deployment inscriptus |
| 400 | Errore validationis, exempli gratia loci, planis, vel versionis systematis operandi inactiva |
| 402 | Nonnullae res in libro non sunt, sed in libro non sunt res, quae non sunt in libro. |
| 403 | Token API mancant vel invalidus, aut token permissum necesse non habet |
| 429 | Tuus contus servitore limitum creatiorum accepit |
Haec pagina de systemate operandi, systemate operandi, systemate operandi, et systemate operandi descriptio.
Permissio necesse: 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"
}
]
}
In hoc libro, scripta et scripturae in lingua Graeca sunt.
| Campo | Typus | Descriptio |
|---|---|---|
vmid |
integer | null | Numerus machinis virtualis, in deploymento definitus |
location |
object | Locus, quod a locatio API restituitur |
plan |
object | Planum objectum, ut a Plans API restitutum |
operating_system, operating_system_version |
object | Systema operandum et versio installata, ut a Operating Systems API restituitur |
ipv4_addresses, ipv6_addresses |
array | Una res pro adressio cum IP, porta, subreti et rdns (reverse DNS hostname) |
recent_actions |
array | Ad quinque ultimas actiones: id, action, action_display, description, user_email, created_at |
| 200 | Feliciter notitiae servi receptae sunt. |
| 404 | Non repertus, aut ad alium contum pertinet |
In hoc modo, ipse potestam accepit, ut potestatem agere et servitum servire.
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
}
| Valor | Descriptio |
|---|---|
queue |
Actiones (deploy, power, resize, restore) in coda sunt vel in progressu sunt |
deploying |
Servilia creata a panele controlorum hoc status utuntur; servilia creata per API in coda manent usque adquam pronta sunt. |
on |
Running |
off |
Dispugnatio |
error |
Ultima actionis fallavit. Vide error_description. |
suspended_payment |
Suspendenda pro facturis non pagati |
Activity power action inqueris. Status servii inqueris mutatur usque ad actionem finitam.
Permissio necesse: servers:power
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
action |
string | Ita |
start: power onshutdown: finem graciosum, fortiorem si invictus non se deponetrestart: cycle hard power (stop, then start)stop: hodie cum reinitio idem cyclem energiae perfecit. Shutdown ut servitum inactivum latum.
|
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 | Actus in columnam inscriptus est |
| 400 | Actiones mancantes vel non sustinendae |
| 402 | start refused because the account has unpaid bills |
| 404 | Non repertus, aut ad alium contum pertinet |
Servitum in alium planum activum movit. Novum planum non potest minus spatii disci quam currente habere, et corpus petitionis actionem redimensionandi continere debet. Capacitas hypervisoris pro novo planum est verificata antequam res in columnam invenitur, ergo petitio rejecta servitum non alteratum laecit.
Servitor inter redimensionationem et post redimensionationem reinitium inactivus est. Si redimensionatio fallus est, servitor in planum anteae revertitur et reinitium initiatur si executum est. Discescens disci non est revocabilis.
Permissio necesse: servers:resize
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
action |
string | Ita | Redimensio |
new_plan_uuid |
string | Ita | UID planis ad movendum |
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"
}
Ecce index asteroidum qui numeri ex 409 ad 410 habent.
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | Actus in columnam inscriptus est |
| 400 | Actionis mancantes vel new_plan_uuid, planum invalidum vel inactivum, planum minus disci spatium habente, vel planum GPU (plana GPU non possunt per API redimensionari) |
| 404 | Non repertus, aut ad alium contum pertinet |
| 409 | Redimensionatio vel conservatio mutatio iam in progressu est, aut non est hypervisoris capacitas sufficientis pro novo plani |
| 503 | Capacitas non potuit nunc verificari. Servitor non mutatus est; probatio postrerum. |
Generit novam password root, restituit in responso et inquerit mutationem in servitore. Nova password etiam e- mail a te invenitur. Servitor debet deployatur. Corpus petitionis non est necesse.
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 | Actus in columnam inscriptus est |
| 400 | Servitor non est iam deployatus |
| 404 | Non repertus, aut ad alium contum pertinet |
GET nomen hostium DNS inversum de omnes IPv4 et IPv6 adressis in servitore enumerat. POST ad unam adressam configuret. Nomen hostium vacuum sending address to its default reverse DNS name reset.
Permissio necesse: servers:update
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
ip |
string | Ita | Adressa IPv4 aut IPv6 ad hoc servitorem assignata |
hostname |
string | No | Nomen host PTR. Laetare vacuum ad default revertiendum. |
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"
}
Replicatio:
{
"rdns": [
{"ip": "203.0.113.10", "hostname": "mail.example.com"},
{"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
]
}
| 400 | ip manet, aut nomen host non potuit asetuntur |
| 404 | Adress IP non est assignatus ad hoc servitorem |
Execut commandum shell in servitore per QEMU guest agent et asperit ad finiendum. Servitor debet esse deployatus et executatus, et qemu-guest-agent debet esse installatus et executatus in guest.
Permissio necesse: servers:exec
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
command |
string | Ita | Lineae commandi executi sunt cum /bin/sh -c, usque ad 2000 caracteres |
timeout |
integer | No | Secundis ut commissum asperret, 1 ad 300 (default 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
}
Si in hoc tempore non est, in hoc tempore est, si est, in hoc tempore est, si est, in hoc tempore est, si est, in hoc tempore est.
| 200 | Comando finitum vel tempore expirato |
| 400 | Servitor non deployatus aut non executatus, vel parametri invalidi |
| 409 | QEMU invictus agentus non in servitore executatur |
| 503 | Connexio temporaria problema. Probatur post Retry-After caput. |
Servitor in columnam incolat ut deletae sit. Servitor ex lista immediate deperdit et non est recuperabile.
Permissio necesse: 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 | Acceptatus: petitio in columnam inscripta est |
| 404 | Non repertus, aut ad alium contum pertinet |
Publicae SSH clavis in tuo contu custodire, et postremo suos uuids cum ssh_key_uuids servitorium creando passare. GET claves tuas (25 per paginam) enumerat; POST unam adfecit.
Permissio necesse: ssh-keys:list (GET), ssh-keys:create (POST)
| Parametrus | Typus | Requisitum | Descriptio |
|---|---|---|---|
name |
string | Ita | Nomen ut claviculam reconocere possit, usque ad 100 caracteres |
public_key |
string | Ita | The public key in OpenSSH format, for example the contents of 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
}
| Campo | Typus | Descriptio |
|---|---|---|
id, uuid |
integer, string | Clavis identificatores. Uuid in ssh_key_uuids et in URL infra utuntur; id in ssh_key_ids laborat. |
fingerprint |
string | MD5 digitus clavis, computatus a platforme |
last_used_at |
datetime | null | Cum clavicula ultimam in novam servitionem installata est |
| 201 | Clavis aedificata |
| 400 | Nomen mancant, aut clavicula publica non est clavicula publica SSH valida |
GET unam claviem cum campis supranibus restituit. DELETE eam ex tuo contu removit et 204 cum corpus non esset restituit. Clavem removiendo non removit e servibus in quibus antea installata erat. Claves non sunt editae: removi et reaprove.
Permissio necesse: 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"
In hoc modo, scriptura et scripturae sunt una et etiam sunt una.
POST /api/v1/servers/{uuid}/backup/: API Copiarum SubsidiariarumPOST /api/v1/servers/{uuid}/snapshot/: API Imaginum Temporalium