Skapa, inspektera, driva, ändra storlek och ta bort dina VPS-servrar. Servererna identifieras av deras uuid.
Returnerar servrarna på ditt konto, nyaste först, 25 per sida. Serverer som tas bort ingår inte.
Krav på tillstånd: servers:list
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
page |
integer | Ej tillämpligt | Sidnummer, med början på 1 |
page_size |
integer | Ej tillämpligt | Resultat per sida (standard 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
}
]
}
| Fält | Typ | Varuslag |
|---|---|---|
uuid |
string | Serveridentifierare som används i varje annat serverslutpunkt |
hostname |
string | Värddatornamn du valde när servern skapades |
status |
string | Nuvarande tillstånd. Se Serverns statusvärden nedan. |
error_description |
string | null | Uppgifter om det senaste felet när status är fel, annars noll |
location_name |
string | Namn på den plats servern körs i |
os_name |
string | Operativsystemnamn, utan version |
plan_name |
string | Läsbar sammanfattning av planen, till exempel 1 vCPU / 2 GB RAM / 10 GB |
ipv4_addresses |
array | IPv4 adresser som strängar. Töm tills servern är utplacerad, och på planer utan IPv4. |
ipv6_addresses |
array | IPv6- adresser som strängar. Töm tills servern är utplacerad. |
created_at |
datetime | Tid för skapande (ISO 8601, UTC) |
deployed |
boolean | Verkligt när avsättning är avslutad |
| 200 | Serverlistan har hämtats |
| 403 | Saknas eller ogiltig API- token, eller token saknar den behörighet som krävs |
Köar en ny server för distribution och returnerar den omedelbart med status kö. Avsättning fortsätter i bakgrunden: mät status endpoint tills utplacerad är sant. När servern är klar, dess inloggningsuppgifter skickas till kontoägaren.
Ditt konto behöver en sparad betalningsmetod. Beroende på din kontohistorik kan ett tillfälligt förauktorisationsinnehav på cirka en vecka av planens pris (minst 1 USD) placeras på ditt kort innan servern skapas.
Krav på tillstånd: servers:create
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
hostname |
string | Ja | Minst 3 tecken. Bokstäver, siffror, bindestreck och endast perioder. |
location_id |
integer | Ja | ID för en aktiv plats från API:et Platser |
plan_uuid |
string | Ja | En aktiv plan från Plans API |
operating_system_version_uuid |
string | Ja | En aktiv post i operativsystemets versionslista |
ssh_key_uuids |
array | Ej tillämpligt | UUID för SSH-nycklar från SSH-nycklarna för att installera på servern |
ssh_key_ids |
array | Ej tillämpligt | Integer- ids för SSH- nycklar, som ett alternativ till ssh_ key_ uuids. Om båda skickas, används ssh_ key_ ids. |
ssh_key_uuid, ssh_key_id |
string, integer | Ej tillämpligt | Korthand för en SSH nyckel |
auth_method |
string | Ej tillämpligt | lösenord, ssh_key eller båda. Förvaler till lösenord, eller till båda när SSH nycklar levereras. |
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 Skapad med det fullständiga serverobjektet som beskrivs under Hämta serverdetaljer. Adresser och vmid fylls i när distributionen är klar.
{
"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 skapad och köad för distribution |
| 400 | Valideringsfel, t.ex. inaktiv plats, plan eller operativsystemversion |
| 402 | Ingen betalningsmetod på fil, obetald fakturor, eller kortet för godkännande avvisades |
| 403 | Saknas eller ogiltig API- token, eller token saknar den behörighet som krävs |
| 429 | Ditt konto har nått sin servers kreationsgräns |
Returnerar en server med sin plats, plan, operativsystem, IP-adresser och de fem senaste åtgärderna.
Krav på tillstånd: 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 ikonmarkering och versionslistan förkortas här.
| Fält | Typ | Varuslag |
|---|---|---|
vmid |
integer | null | Virtuell maskinnummer, inställt under utplacering |
location |
object | Platsobjekt, som returneras av platsaPI:et |
plan |
object | Planera objekt, som returneras av Plans API |
operating_system, operating_system_version |
object | Operativsystem och installerad version, som returneras av operativsystem API |
ipv4_addresses, ipv6_addresses |
array | Ett objekt per adress med ip, gateway, subnet och rdns (det omvända DNS-värdnamnet) |
recent_actions |
array | Upp till fem senaste åtgärder: id, åtgärd, action_display, beskrivning, user_email, created_at |
| 200 | Serverinformationen har hämtats |
| 404 | Inte hittat, eller det tillhör ett annat konto |
Ett lätt samtal för röstning efter att du skapat, ström eller ändra storlek på en server.
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
}
| Värde | Varuslag |
|---|---|
queue |
En åtgärd (exploy, kraft, storleksändring, återställning) är köad eller pågår |
deploying |
Serverer som skapas från kontrollpanelen använder detta tillstånd. Servers som skapas genom API:et stannar i kö tills de är klara. |
on |
Kör |
off |
Avdriftad |
error |
Den senaste åtgärden misslyckades. Se fel_ beskrivning. |
suspended_payment |
Uppskov på grund av obetalda fakturor |
Köar en effektåtgärd. Serverstatusen ändras till kö tills åtgärden är klar.
Krav på tillstånd: servers:power
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
action |
string | Ja |
start: strömstyrka påshutdown: graciös avstängning, avblåst om gästen inte stannarrestart: Hård effektcykel (stopp, starta sedan)stop: utför för närvarande samma effektcykel som omstart. Använd avstängning för att lämna en server avstängd.
|
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 | Åtgärden var köad |
| 400 | Åtgärder som saknas eller inte stöds |
| 402 | starta nekas eftersom kontot har obetald fakturor |
| 404 | Inte hittat, eller det tillhör ett annat konto |
Flyttar servern till en annan aktiv plan. Den nya planen kan inte ha mindre diskutrymme än den nuvarande, och begäran måste innehålla åtgärder inställda för att ändra storlek. Hypervisorkapacitet för den nya planen kontrolleras innan något köas, så en nekad begäran lämnar servern oförändrad.
Servern stängs av medan den ändrar storlek och startas igen efteråt. Om storleksändringen misslyckas, sätts servern tillbaka på sin tidigare plan och startas igen om den kördes. Disktillväxt kan inte göras ogjord.
Krav på tillstånd: servers:resize
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
action |
string | Ja | Måste vara storleksändring |
new_plan_uuid |
string | Ja | Den nya planen för att flytta till |
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"
}
Exempel på en vägrad ändring av storlek (409):
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | Åtgärden var köad |
| 400 | Saknar åtgärd eller ny_plan_uuid, ogiltig eller inaktiv plan, en plan med mindre diskutrymme, eller en GPU-plan (GPU-planer kan inte ändras genom API) |
| 404 | Inte hittat, eller det tillhör ett annat konto |
| 409 | En ändring av storlek eller lagring pågår redan, eller så finns det inte tillräckligt med hypervisorkapacitet för den nya planen. |
| 503 | Kapaciteten kunde inte kontrolleras just nu. Servern ändrades inte, försök igen senare. |
Skapar ett nytt root-lösenord, returnerar det i svaret och köar ändringen på servern. Det nya lösenordet skickas också till dig. Servern måste användas. Inget förfrågningsorgan behövs.
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 | Åtgärden var köad |
| 400 | Servern är inte utplacerad ännu |
| 404 | Inte hittat, eller det tillhör ett annat konto |
Få listar det omvända DNS värddatornamnet för varje IPv4- och IPv6-adress på servern. POST ställer in det för en adress. Att skicka ett tomt värdnamn återställer adressen till dess förvalda omvända DNS-namn.
Krav på tillstånd: servers:update
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
ip |
string | Ja | En IPv4- eller IPv6-adress som tilldelats servern |
hostname |
string | Ej tillämpligt | Värddatornamnet för PTR. Låt tomt återställas till standardvärdet. |
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"
}
Få svar:
{
"rdns": [
{"ip": "203.0.113.10", "hostname": "mail.example.com"},
{"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
]
}
| 400 | ip saknas, eller värddatornamnet kunde inte ställas in |
| 404 | IP- adressen är inte tilldelad servern |
Kör ett skalkommando inuti servern genom QEMU: s gästagent och väntar på att den ska avslutas. Servern måste vara utplacerad och köras, och qemu- gästagent måste installeras och köras i gästen.
Krav på tillstånd: servers:exec
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
command |
string | Ja | Kommandorad kör med /bin/sh -c, upp till 2000 tecken |
timeout |
integer | Ej tillämpligt | Sekunder att vänta på kommandot, 1 till 300 (standard 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
}
Om kommandot fortfarande körs när tidsgränsen går ut, har svaret inställts till true och exit_code inställd till noll.
| 200 | Kommandot är klart eller har gått ut |
| 400 | Servern inte utplacerad eller inte kör, eller ogiltiga parametrar |
| 409 | QEMU gästagent kör inte på servern |
| 503 | Tillfälliga anslutningsproblem. Försök igen efter rubriken "Retry-After". |
Köar servern för permanent borttagning. Servern försvinner omedelbart från listan och kan inte återställas.
Krav på tillstånd: 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 | Godkänt: begäran var köad |
| 404 | Inte hittat, eller det tillhör ett annat konto |
Lagra offentliga SSH-nycklar på ditt konto, och skicka sedan deras uuids som ssh_key_uuids när du skapar en server. Få listor dina nycklar (25 per sida); POST lägger till en.
Krav på tillstånd: ssh-keys:list (GET), ssh-keys:create (POST)
| Parameter | Typ | Nödvändig | Varuslag |
|---|---|---|---|
name |
string | Ja | Ett namn som ska känna igen nyckeln med upp till 100 tecken |
public_key |
string | Ja | Den öppna nyckeln i OpenSSH-format, till exempel innehållet i 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
}
| Fält | Typ | Varuslag |
|---|---|---|
id, uuid |
integer, string | Nyckelidentifierare. Använd uuid i ssh_key_uuids och i webbadressen nedan. Id fungerar i ssh_key_ids. |
fingerprint |
string | MD5 fingeravtryck av nyckeln, beräknas av plattformen |
last_used_at |
datetime | null | När nyckeln senast installerades på en ny server |
| 201 | Tillagd nyckel |
| 400 | Saknat namn, eller den öppna nyckeln är inte en giltig SSH- öppen nyckel |
Få returnerar en nyckel med fälten ovan. DELETE tar bort den från ditt konto och returnerar 204 utan kropp. Att ta bort en nyckel tar inte bort den från servrar som den redan var installerad på. Nycklarna kan inte redigeras: ta bort och lägga till igen.
Krav på tillstånd: 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"
Att skapa en säkerhetskopia eller en ögonblicksbild är också en serveråtgärd:
POST /api/v1/servers/{uuid}/backup/: Säkerhetskopierings-APIPOST /api/v1/servers/{uuid}/snapshot/: API för ögonblicksbilderName