Opret, inspicere, magt, ændre størrelse og slette dine VPS-servere. Servere er identificeret af deres uuid.
Returnerer serverene på din konto, nyeste først, 25 pr. side. Servere, der bliver slettet, er ikke inkluderet.
Krævet tilladelse: servers:list
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
page |
integer | No | Sidenummer, begyndende kl. 1 |
page_size |
integer | No | Resultater pr. side (standard 25, maksimum 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
}
]
}
| Felt | Type | Description |
|---|---|---|
uuid |
string | Server- identifikator, der anvendes i alle andre server- endpoints |
hostname |
string | Værtsnavn du valgte når du opretter serveren |
status |
string | Nuværende tilstand. Se Serverstatusværdier nedenfor. |
error_description |
string | null | Detaljer om den sidste fejl, når status er fejl, ellers nul |
location_name |
string | Navn på den placering serveren kører i |
os_name |
string | Operativsystemnavn, uden version |
plan_name |
string | Læsbar oversigt over planen, for eksempel 1 vCPU / 2 GB RAM / 10 GB |
ipv4_addresses |
array | IPv4-adresser som strenge. Tom indtil serveren er indsat, og på planer uden IPv4. |
ipv6_addresses |
array | IPv6-adresser som strenge. Tom indtil serveren er indsat. |
created_at |
datetime | Skabelsestid (ISO 8601, UTC) |
deployed |
boolean | Sandt, når forsyningen er færdig |
| 200 | Serverlisten er hentet |
| 403 | Manglende eller ugyldig API token, eller den token mangler den krævede tilladelse |
Køer en ny server til implementering og returnerer den straks med status kø. Fortsættelse fortsætter i baggrunden: meningsmåling af status- endpoint indtil indsat er sandt. Når serveren er klar, sendes dens login- detaljer til kontoejeren.
Din konto har brug for en gemt betalingsmetode. Afhængigt af din kontohistorik kan der placeres et midlertidigt forud- tilladelseshold på omkring en uge af planens pris (mindst 1 USD) på dit kort, før serveren oprettes.
Krævet tilladelse: servers:create
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
hostname |
string | Ja | Mindst 3 tegn. Bogstaver, cifre, bindestreger og perioder. |
location_id |
integer | Ja | Id'et for en aktiv placering fra placeringer API |
plan_uuid |
string | Ja | En aktiv plan fra plan API |
operating_system_version_uuid |
string | Ja | Uuid af en aktiv indgang i et operativsystem versioner liste |
ssh_key_uuids |
array | No | UUID'er af SSH-taster fra SSH-tasterne API til installation på serveren |
ssh_key_ids |
array | No | Integer- id' er for SSH- taster som et alternativ til ssh_ key_ uuids. Hvis begge er sendt, bruges ssh_ key_ id' er. |
ssh_key_uuid, ssh_key_id |
string, integer | No | Korthånd for en enkelt SSH- nøgle |
auth_method |
string | No | adgangskode, ssh_ key eller begge dele. Standarderer adgangskode, eller til begge dele når SSH- nøgler leveres. |
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 Oprettet med den fulde server objekt beskrevet under Get Server Detaljer. Adresser og vmid er udfyldt, når implementeringen er færdig.
{
"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 oprettet og i kø til implementering |
| 400 | Valideringsfejl, f.eks. en inaktiv placering, plan eller operativsystemversion |
| 402 | Ingen betalingsmetode på fil, ubetalte fakturaer, eller kortet for bemyndigelse blev afvist |
| 403 | Manglende eller ugyldig API token, eller den token mangler den krævede tilladelse |
| 429 | Din konto har nået sin server skabelse grænse |
Returnerer en server med sin placering, plan, operativsystem, IP-adresser og de fem seneste handlinger.
Krævet tilladelse: 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 ikon markup og versionslisten forkortes her.
| Felt | Type | Description |
|---|---|---|
vmid |
integer | null | Virtuel maskine nummer, indstillet under implementering |
location |
object | Sted objekt, som returneres af sted API |
plan |
object | Plan objekt, som returneres af Planer API |
operating_system, operating_system_version |
object | Operativsystem og den installerede version, som returneres af Operativsystemer API |
ipv4_addresses, ipv6_addresses |
array | Et objekt pr. adresse med ip, gateway, subnet og rdrns (det omvendte DNS-værtsnavn) |
recent_actions |
array | Op til fem seneste handlinger: id, action, action_display, beskrivelse, user_email, created_at |
| 200 | Serveroplysninger er hentet |
| 404 | Ikke fundet, eller det tilhører en anden konto |
Et letvægtsopkald til meningsmåling, når du opretter, power eller ændre størrelsen 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ærdi | Description |
|---|---|
queue |
En handling (deploy, power, resize, restore) er i kø eller i gang |
deploying |
At blive specificeret. Servere oprettet fra kontrolpanelet bruger denne tilstand; servere oprettet gennem API ophold i kø, indtil de er klar. |
on |
Kører |
off |
Slukket |
error |
Den sidste handling mislykkedes. Se fejl_ beskrivelse. |
suspended_payment |
Suspenderet på grund af ubetalte fakturaer |
Køer en strømhandling. Serverstatus ændres til kø, indtil handlingen er færdig.
Krævet tilladelse: servers:power
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
action |
string | Ja |
start: effektshutdown: yndefuld nedlukning, tvunget væk, hvis gæsten ikke stopperrestart: Hårdt effektforløb (stop, start)stop: udfører i øjeblikket den samme strømcyklus som genstart. Brug nedlukning til at forlade en server.
|
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 | Handlingen blev i kø |
| 400 | Manglende eller ikke- understøttet handling |
| 402 | start afvist, fordi kontoen har ubetalte fakturaer |
| 404 | Ikke fundet, eller det tilhører en anden konto |
Flytter serveren til en anden aktiv plan. Den nye plan kan ikke have mindre diskplads end den nuværende, og forespørgselsorganet skal inkludere handling indstillet til at ændre størrelse. Hypervisor- kapacitet til den nye plan kontrolleres før noget er i kø, så en afvist anmodning lader serveren uændret.
Serveren lukkes ned mens den bliver ændret og startes igen bagefter. Hvis resize mislykkes, sættes serveren tilbage på sin tidligere plan og startes igen hvis den kører. Diskvækst kan ikke fortrydes.
Krævet tilladelse: servers:resize
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
action |
string | Ja | Skal være ændring af størrelse |
new_plan_uuid |
string | Ja | Den Europæiske Unions Tidende |
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"
}
Eksempel på en afvist ændring af størrelse (409):
{
"error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}
| 200 | Handlingen blev i kø |
| 400 | Manglende handling eller new_plan_uuid, ugyldig eller inaktiv plan, en plan med mindre diskplads, eller en GPU-plan (GPU-planer kan ikke ændres gennem API) |
| 404 | Ikke fundet, eller det tilhører en anden konto |
| 409 | En ændring af størrelse eller lagerændring er allerede i gang, eller der er ikke nok hypervisorkapacitet til den nye plan |
| 503 | Kapaciteten kunne ikke kontrolleres lige nu. Serveren blev ikke ændret; prøve igen senere. |
Gener en ny root- adgangskode, returnerer den i svaret og stiller ændringen på serveren i kø. Den nye adgangskode sendes også til dig. Serveren skal implementeres. Der er ikke brug for en forespørgselskrop.
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 | Handlingen blev i kø |
| 400 | Serveren er ikke indsat endnu |
| 404 | Ikke fundet, eller det tilhører en anden konto |
FÅ lister over det omvendte DNS- værtsnavn for hver IPv4- og IPv6- adresse på serveren. POST sætter det til en adresse. Sender et tomt værtsnavn nulstiller adressen til dets standard reverse DNS- navn.
Krævet tilladelse: servers:update
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
ip |
string | Ja | En IPv4- eller IPv6- adresse tildelt denne server |
hostname |
string | No | PTR- værtnavnet. Lad tomt være for at nulstille til standarden. |
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 mangler, eller værtsnavnet kunne ikke indstilles |
| 404 | IP- adressen er ikke tildelt denne server |
Kører en skal kommando inde i serveren gennem QEMU gæste agent og venter på det til slut. Serveren skal implementeres og køre, og qemu-gæst-agent skal installeres og køre i gæsten.
Krævet tilladelse: servers:exec
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
command |
string | Ja | Kommandolinjekørsel med /bin/sh -c, op til 2000 tegn |
timeout |
integer | No | Sekunder til at vente på kommandoen, 1 til 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
}
Hvis kommandoen stadig kører, når timeout udløber, har svaret timed_out sat til true og exit_code sat til nul.
| 200 | Kommandoen er færdig eller udløbet |
| 400 | Server ikke implementeret eller ikke kører, eller ugyldige parametre |
| 409 | QEMU gæsteagenten kører ikke på serveren |
| 503 | Temporary connection problem. Retry after the Retry-After header. |
Køer serveren for permanent sletning. Serveren forsvinder straks fra listen og kan ikke inddrives.
Krævet tilladelse: 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 | Accepteret: Anmodningen blev i kø |
| 404 | Ikke fundet, eller det tilhører en anden konto |
Gem offentlige SSH-nøgler på din konto, og giv derefter deres uuids som ssh_key_uids når du opretter en server. FÅ lister dine nøgler (25 pr. side); POST tilføjer en.
Krævet tilladelse: ssh-keys:list (GET), ssh-keys:create (POST)
| Parameter | Type | Påkrævet | Description |
|---|---|---|---|
name |
string | Ja | Et navn til at genkende nøglen med, op til 100 tegn |
public_key |
string | Ja | Den offentlige nøgle i OpenSSH-format, for eksempel indholdet af 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
}
| Felt | Type | Description |
|---|---|---|
id, uuid |
integer, string | Nøgleidentifikatorer. Brug uuid i ssh_ key_ uuids og i URL' en nedenfor; id fungerer i ssh_ key_ id' en. |
fingerprint |
string | MD5-aftryk af nøglen, beregnet af platformen |
last_used_at |
datetime | null | Når nøglen sidst blev installeret på en ny server |
| 201 | Nøgle tilføjet |
| 400 | Manglende navn, eller den offentlige nøgle er ikke en gyldig SSH offentlig nøgle |
GET returnerer en nøgle med ovenstående felter. DELETE fjerner den fra din konto og returnerer 204 uden krop. Sletning af en nøgle fjerner den ikke fra servere den allerede var installeret på. Nøgler kan ikke redigeres: slet og tilføj igen.
Krævet tilladelse: 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"
Oprettelse af en sikkerhedskopi eller et øjebliksbillede er også en server handling:
POST /api/v1/servers/{uuid}/backup/: Backups APIPOST /api/v1/servers/{uuid}/snapshot/: Snapshots API