VPS.org API

Documentazione delle API REST

API dei server

Crea, controlla, potenzia, ridimensiona ed elimina i server VPS. I server sono identificati dal loro uuid.

Punti finali 15
Percorso di base /api/v1/servers
OTTENERE /api/v1/servers/

Elenca tutti i server

Restituisce i server nel tuo account, il più recente, 25 per pagina. I server che vengono eliminati non sono inclusi.

Autorizzazione richiesta: servers:list

Parametri di query

Parametro Tipo Necessario Designazione delle merci
page integer No. Numero di pagina, a partire da 1
page_size integer No. Risultati per pagina (default 25, massimo 100)

Richiesta di esempio

cURL
Python
JavaScript
PHP
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";
}

Esempio di risposta

{
  "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
    }
  ]
}

Campi di risposta

Campo Tipo Designazione delle merci
uuid string identificatore del server utilizzato in ogni altro endpoint server
hostname string Nome host scelto quando si crea il server
status string Stato corrente. Vedere i valori dello stato del server sotto.
error_description string | null Dettagli dell'ultimo errore quando lo stato è un errore, altrimenti nullo
location_name string Nome della posizione in cui il server viene eseguito
os_name string Nome del sistema operativo, senza la versione
plan_name string Riepilogo del piano leggibile, per esempio 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array Gli indirizzi IPv4 come stringhe. Svuota fino a quando il server non viene implementato, e su piani senza IPv4.
ipv6_addresses array Indirizzi IPv6 come stringhe. Svuota fino a quando il server non viene distribuito.
created_at datetime Tempo di creazione (ISO 8601, UTC)
deployed boolean Vero una volta che la fornitura è terminata

Codici di stato della risposta

200 Elenco dei server recuperato con successo
403 Token API mancante o non valido, o il token non ha il permesso richiesto
POST /api/v1/servers/

Crea nuovo server

In coda a un nuovo server per l'implementazione e lo restituisce immediatamente con la coda di stato. Il provisioning continua in background: interroga l'endpoint di stato fino a quando l'implementazione è vera. Quando il server è pronto, i suoi dettagli di accesso vengono inviati via email al proprietario dell'account.

Il tuo account ha bisogno di un metodo di pagamento salvato. A seconda della cronologia del tuo account, una pre-autorizzazione temporanea di circa una settimana del prezzo del piano (almeno 1 USD) può essere piazzata sulla tua carta prima che il server venga creato.

Autorizzazione richiesta: servers:create

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
hostname string SÌ Almeno 3 caratteri. Solo lettere, cifre, trattini e periodi.
location_id integer SÌ L'id di una posizione attiva dall'API di Locations
plan_uuid string SÌ L'uuid di un piano attivo dal Piani API
operating_system_version_uuid string SÌ L'uuid di una voce attiva nell'elenco delle versioni di un sistema operativo
ssh_key_uuids array No. UUID delle chiavi SSH dall'API dei tasti SSH da installare sul server
ssh_key_ids array No. Id interi dei tasti SSH, in alternativa a ssh_key_uuids. Se entrambi sono inviati, ssh_key_ids è usato.
ssh_key_uuid, ssh_key_id string, integer No. Shorthand per una singola chiave SSH
auth_method string No. password, ssh_key o entrambi. Predefiniti per password, o per entrambi quando vengono fornite le chiavi SSH.

Richiesta di esempio

cURL
Python
JavaScript
PHP
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);

Esempio di risposta

201 Creato con l'intero oggetto server descritto in Ottieni Dettagli server. Gli indirizzi e vmid vengono compilati una volta che l'implementazione termina.

{
  "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": []
}

Codici di stato della risposta

201 Server creato e in coda per l'implementazione
400 Errore di convalida, ad esempio una posizione inattiva, una versione di piano o di sistema operativo
402 Nessun metodo di pagamento sul file, fatture non pagate, o la pre-autorizzazione della carta è stata rifiutata
403 Token API mancante o non valido, o il token non ha il permesso richiesto
429 Il tuo account ha raggiunto il limite di creazione del server
OTTENERE /api/v1/servers/{uuid}/

Ottieni i dettagli del server

Restituisce un server con la sua posizione, piano, sistema operativo, indirizzi IP e le cinque azioni più recenti.

Autorizzazione richiesta: servers:list

curl -X GET "https://admin.vps.org/api/v1/servers/8c4f2a1e-5b3d-4e6f-9a7b-1c2d3e4f5a6b/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Esempio di risposta

{
  "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"
    }
  ]
}

Il markup delle icone SVG e l'elenco delle versioni sono accorciati qui.

Campi di risposta

Campo Tipo Designazione delle merci
vmid integer | null Numero della macchina virtuale, impostato durante l'implementazione
location object Oggetto posizione, come restituito dall'API Località
plan object Oggetto di piano, come restituito dalle API Piani
operating_system, operating_system_version object Sistema operativo e versione installata, come restituito dall'API Sistemi Operativi
ipv4_addresses, ipv6_addresses array Un oggetto per indirizzo con ip, gateway, subnet e rdns (il nome host DNS inverso)
recent_actions array Fino a cinque azioni più recenti: id, action, action_display, description, user_email, created_at

Codici di stato della risposta

200 Dettagli del server recuperati correttamente
404 Non trovato, o appartiene ad un altro account
OTTENERE /api/v1/servers/{uuid}/status/

Ottieni lo stato del server

Una chiamata leggera per il sondaggio dopo che si crea, potenza o ridimensionare un 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
}

Valori dello stato del server

Valore Designazione delle merci
queue Un'azione (distribuisci, potenzia, ridimensiona, ripristina) è in coda o in corso
deploying I server creati dal pannello di controllo usano questo stato; i server creati tramite l'API rimangono in coda fino a quando non sono pronti.
on Esecuzione
off Spegnimento
error L'ultima azione non riuscita. Vedere error_description.
suspended_payment Sospesa a causa di fatture non pagate
POST /api/v1/servers/{uuid}/power/

Controllo di potenza del server

In coda un'azione di alimentazione. Lo stato del server cambia in coda fino al completamento dell'azione.

Autorizzazione richiesta: servers:power

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
action string SÌ start: accensione
shutdown: spegnimento grazioso, forzato se l'ospite non si ferma
restart: ciclo di potenza (stop, quindi avvio)
stop: attualmente esegue lo stesso ciclo di alimentazione del riavvio. Usare l'arresto per lasciare un server spento.

Richiesta di esempio

cURL
Python
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())

Esempio di risposta

{
  "message": "Server restart queued"
}

Codici di stato della risposta

200 L'azione è stata in coda
400 Azione mancante o non supportata
402 inizio rifiutato perché il conto ha fatture non pagate
404 Non trovato, o appartiene ad un altro account
POST /api/v1/servers/{uuid}/resize/

Ridimensiona un server

Sposta il server su un altro piano attivo. Il nuovo piano non può avere meno spazio su disco di quello attuale, e il corpo della richiesta deve includere l'azione impostata per ridimensionare. La capacità dell'hypervisor per il nuovo piano viene controllata prima che tutto sia in coda, quindi una richiesta rifiutata lascia il server invariato.

Il server viene spento mentre viene ridimensionato e riavviato successivamente. Se il ridimensionamento fallisce, il server viene rimesso sul suo piano precedente e riavviato se era in esecuzione. La crescita del disco non può essere annullata.

Autorizzazione richiesta: servers:resize

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
action string SÌ Deve essere ridimensionato
new_plan_uuid string SÌ L'uuid del piano di spostare a
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"
}

Esempio di ridimensionamento rifiutato (409):

{
  "error": "Not enough hypervisor capacity for the selected plan; the server was not changed"
}

Codici di stato della risposta

200 L'azione è stata in coda
400 Azione mancante o nuovo_plan_uuid, piano non valido o inattivo, un piano con meno spazio su disco o un piano GPU (i piani GPU non possono essere ridimensionati tramite l'API)
404 Non trovato, o appartiene ad un altro account
409 Un cambiamento di ridimensionamento o di storage è già in corso, o non vi è abbastanza capacità di hypervisor per il nuovo piano
503 Impossibile controllare la capacità in questo momento. Il server non è stato modificato; riprovare più tardi.
POST /api/v1/servers/{uuid}/reset-password/

Reimposta la password radice

Genera una nuova password di root, la restituisce nella risposta e mette in coda il cambiamento sul server. La nuova password è anche inviata via email. Il server deve essere distribuito. Non è necessario alcun corpo di richiesta.

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"
}

Codici di stato della risposta

200 L'azione è stata in coda
400 Il server non è ancora stato distribuito
404 Non trovato, o appartiene ad un altro account
OTTENERE POST /api/v1/servers/{uuid}/rdns/

DNS inverso (PTR)

GET elenca il nome host DNS inverso di ogni indirizzo IPv4 e IPv6 sul server. POST lo imposta per un indirizzo. Inviando un nome host vuoto reimposta l'indirizzo al suo nome DNS inverso predefinito.

Autorizzazione richiesta: servers:update

Parametri del corpo della richiesta (POST)

Parametro Tipo Necessario Designazione delle merci
ip string SÌ Un indirizzo IPv4 o IPv6 assegnato a questo server
hostname string No. Il nome host PTR. Lascia vuoto per ripristinare il valore predefinito.
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"
}

Risposta GET:

{
  "rdns": [
    {"ip": "203.0.113.10", "hostname": "mail.example.com"},
    {"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
  ]
}

Codici di stato della risposta

400 mancante ip, o il nome host non può essere impostato
404 L'indirizzo IP non è assegnato a questo server
POST /api/v1/servers/{uuid}/exec/

Esegui un comando su un server

Esegue un comando shell all'interno del server tramite l'agente guest QEMU e attende che finisca. Il server deve essere implementato e in esecuzione, e qemu-guest-agent deve essere installato e in esecuzione nell'ospite.

Autorizzazione richiesta: servers:exec

Parametri del corpo della richiesta

Parametro Tipo Necessario Designazione delle merci
command string SÌ Riga di comando con /bin/sh -c, fino a 2000 caratteri
timeout integer No. Secondi da attendere per il comando, 1 a 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
}

Se il comando è ancora in esecuzione quando il timeout scade, la risposta è timed_out impostata a truexit_code impostata a null.

Codici di stato della risposta

200 Comando terminato o cronometro
400 Server non installato o non in esecuzione, o parametri non validi
409 L'agente ospite QEMU non è in esecuzione sul server
503 Problema di connessione temporanea. Riprova dopo l'intestazione Retry-After.
ELIMINARE /api/v1/servers/{uuid}/

Elimina server

In coda al server per l'eliminazione permanente. Il server scompare dall'elenco immediatamente e non può essere recuperato.

Autorizzazione richiesta: 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"
}

Codici di stato della risposta

202 Accettato: la richiesta è stata in coda
404 Non trovato, o appartiene ad un altro account
OTTENERE POST /api/v1/ssh-keys/

Chiavi SSH

Memorizza le chiavi SSH pubbliche nel tuo account, poi passa i loro uuids come ssh_key_uuids quando crei un server. Ottieni una lista delle chiavi (25 per pagina); POST ne aggiunge una.

Autorizzazione richiesta: ssh-keys:list (GET), ssh-keys:create (POST)

Parametri del corpo della richiesta (POST)

Parametro Tipo Necessario Designazione delle merci
name string SÌ Un nome per riconoscere la chiave da, fino a 100 caratteri
public_key string SÌ La chiave pubblica in formato OpenSSH, ad esempio i contenuti di id_ed25519.pub

Richiesta di esempio

cURL
Python
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"])

Esempio di risposta

{
  "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
}

Campi di risposta

Campo Tipo Designazione delle merci
id, uuid integer, string Identifier chiave. Usa uuid in ssh_key_uuids e nell'URL sottostante; id funziona in ssh_key_ids.
fingerprint string MD5 impronte digitali della chiave, calcolate dalla piattaforma
last_used_at datetime | null Quando la chiave è stata installata l'ultima volta su un nuovo server

Codici di stato della risposta

201 Tasto aggiunto
400 Nome mancante, o la chiave pubblica non è una chiave pubblica SSH valida
OTTENERE ELIMINARE /api/v1/ssh-keys/{uuid}/

Ottieni o Elimina una chiave SSH

GET restituisce una chiave con i campi sopra riportati. DELETE la rimuove dal tuo account e restituisce 204 senza corpo. L'eliminazione di una chiave non la rimuove dai server su cui era già installato. Le chiavi non possono essere modificate: eliminare e aggiungere di nuovo.

Autorizzazione richiesta: 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"

Backup e snapshot

Creare un backup o una snapshot è anche un'azione server: