Δημιουργήστε, επιθεωρήστε, δύναμη, αλλαγή μεγέθους και διαγράψτε τους διακομιστές VPS σας. Οι εξυπηρετητές προσδιορίζονται με το uuid τους.
Επιστρέφει τους διακομιστές στο λογαριασμό σας, νεότερο πρώτα, 25 ανά σελίδα. Οι εξυπηρετητές που διαγράφονται δεν περιλαμβάνονται.
Απαιτείται άδεια: servers:list
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
page |
integer | No | Αριθμός σελίδας, ξεκινώντας από το 1 |
page_size |
integer | No | Αποτελέσματα ανά σελίδα (προκαθορισμένα 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
}
]
}
| Πεδίο | Τύπος | Description |
|---|---|---|
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 | Αδειάστε μέχρι να αναπτυχθεί ο διακομιστής και σε σχέδια χωρίς IPv4. |
ipv6_addresses |
array | IPv6 addresses as strings. Empty until the server is deployed. |
created_at |
datetime | Χρόνος δημιουργίας (ISO 8601, UTC) |
deployed |
boolean | Είναι αλήθεια ότι μόλις τελειώσει η προμήθεια |
| 200 | Η λίστα διακομιστών ανακτήθηκε με επιτυχία |
| 403 | Λείπει ή άκυρο API, ή το σύμβολο στερείται της απαιτούμενης άδειας |
Παρακολουθεί έναν νέο διακομιστή για την ανάπτυξη και τον επιστρέφει αμέσως με την ουρά κατάστασης. Η παροχή συνεχίζεται στο παρασκήνιο: δημοσκοπήστε το τελικό σημείο μέχρι να αναπτυχθεί είναι αληθινό. Όταν ο διακομιστής είναι έτοιμος, οι λεπτομέρειες σύνδεσης του αποστέλλονται με email στον ιδιοκτήτη του λογαριασμού.
Ανάλογα με το ιστορικό του λογαριασμού σας, μπορεί να τοποθετηθεί στην κάρτα σας μια προσωρινή βάση προεγκρίνισης περίπου μιας εβδομάδας της τιμής του προγράμματος (τουλάχιστον 1 USD) πριν δημιουργηθεί ο διακομιστής.
Απαιτείται άδεια: servers:create
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
hostname |
string | Ναί | Τουλάχιστον 3 χαρακτήρες, γράμματα, ψηφία, παύλες και περίοδοι μόνο. |
location_id |
integer | Ναί | Η ταυτότητα μιας ενεργού τοποθεσίας από τις τοποθεσίες API |
plan_uuid |
string | Ναί | Η εφαρμογή ενός ενεργού σχεδίου από το σχέδιο API |
operating_system_version_uuid |
string | Ναί | Η εφαρμογή μιας ενεργού εισόδου στον κατάλογο εκδόσεων ενός λειτουργικού συστήματος |
ssh_key_uuids |
array | No | UUIDs των πλήκτρων SSH από το API SSH Keys για την εγκατάσταση στον εξυπηρετητή |
ssh_key_ids |
array | No | Integer ids of SSH keys, as an alternative to ssh_key_uids. Εάν αποστέλλονται και τα δύο, ssh_key_ids is used. |
ssh_key_uuid, ssh_key_id |
string, integer | No | Σύντομη χρήση για ένα μόνο κλειδί SSH |
auth_method |
string | No | Προκαθορισμένα στον κωδικό πρόσβασης, ή και στα δύο όταν παρέχονται τα πλήκτρα 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 Δημιουργήθηκε με το πλήρες αντικείμενο του διακομιστή που περιγράφεται στο Get Server Λεπτομέρειες. Οι διευθύνσεις και vmid συμπληρώνονται μόλις ολοκληρωθεί η ανάπτυξη.
{
"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 | Λείπει ή άκυρο API, ή το σύμβολο στερείται της απαιτούμενης άδειας |
| 429 | Ο λογαριασμός σας έχει φτάσει στο όριο δημιουργίας του διακομιστή του |
Επιστρέφει έναν διακομιστή με την τοποθεσία, το σχέδιο, το λειτουργικό σύστημα, τις διευθύνσεις IP και τις πέντε πιο πρόσφατες ενέργειες.
Απαιτείται άδεια: 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 εικονίδιο σήμανση και η λίστα εκδόσεων συντομεύονται εδώ.
| Πεδίο | Τύπος | Description |
|---|---|---|
vmid |
integer | null | Εικονικός αριθμός μηχανών, που ορίζεται κατά τη διάρκεια της ανάπτυξης |
location |
object | Αντικείμενο τοποθεσίας, όπως επιστρέφεται από τις θέσεις API |
plan |
object | Αντικείμενο σχεδίου, όπως επιστρέφει το σχέδιο API |
operating_system, operating_system_version |
object | Λειτουργικό σύστημα και η εγκατεστημένη έκδοση, όπως επιστρέφεται από το λειτουργικό σύστημα API |
ipv4_addresses, ipv6_addresses |
array | Ένα αντικείμενο ανά διεύθυνση με ip, πύλη, υποδίκτυο και rdns (το όνομα του υπολογιστή του DNS) |
recent_actions |
array | Μέχρι πέντε τελευταίες δράσεις: id, action, 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
}
| Τιμή | Description |
|---|---|
queue |
Μια δράση (ανάλυση, δύναμη, αλλαγή μεγέθους, αποκατάσταση) είναι σε σειρά αναμονής ή σε εξέλιξη |
deploying |
Οι εξυπηρετητές που δημιουργούνται από τον πίνακα ελέγχου χρησιμοποιούν αυτή την κατάσταση; διακομιστές που δημιουργούνται μέσω του API παραμένουν στην ουρά μέχρι να είναι έτοιμοι. |
on |
Τρέξιμο |
off |
Εκφορτωθέντα |
error |
Η τελευταία ενέργεια απέτυχε. Δείτε την περιγραφή λάθους. |
suspended_payment |
Διατασσόμενα λόγω μη καταβληθέντων τιμολογίων |
Ο διακομιστής αλλάζει σε σειρά μέχρι να ολοκληρωθεί η δράση.
Απαιτείται άδεια: servers:power
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
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
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
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 | Λείπει δράση ή νέα_plan_uid, άκυρο ή ανενεργό σχέδιο, σχέδιο με λιγότερο χώρο δίσκων ή σχέδιο GPU (Δεν μπορεί να αναμειγνύεται μέσω του API) |
| 404 | Δεν βρέθηκε ή ανήκει σε άλλο λογαριασμό |
| 409 | Μια αλλαγή μεγέθους ή αποθήκευσης είναι ήδη σε εξέλιξη, ή δεν υπάρχει αρκετή ικανότητα υπεροψία για το νέο σχέδιο |
| 503 | Η χωρητικότητα δεν μπορούσε να ελεγχθεί τώρα. Ο διακομιστής δεν άλλαξε; ξαναπροσπαθήστε αργότερα. |
Δημιουργεί ένα νέο κωδικό πρόσβασης ρίζας, τον επιστρέφει στην απάντηση και ουρές την αλλαγή στον εξυπηρετητή. Ο νέος κωδικός πρόσβασης είναι επίσης μέσω email σε σας. Ο διακομιστής πρέπει να αναπτυχθεί. Δεν απαιτείται σώμα αιτήματος.
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 | Δεν βρέθηκε ή ανήκει σε άλλο λογαριασμό |
Το GET απαριθμεί το αντίστροφο όνομα υπολογιστή DNS κάθε διεύθυνσης IPv4 και IPv6 στον εξυπηρετητή. Η POST το θέτει για μία διεύθυνση. Η αποστολή ενός κενού ονόματος υπολογιστή επαναφέρει τη διεύθυνση στην προεπιλεγμένη του ονομασία DNS.
Απαιτείται άδεια: servers:update
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
ip |
string | Ναί | Διεύθυνση IPv4 ή IPv6 που έχει ανατεθεί σε αυτόν τον εξυπηρετητή |
hostname |
string | No | Το όνομα υπολογιστή PTR. Αφήστε άδειο για να επαναφέρετε την προεπιλογή. |
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"
}
Απαντήστε στο GET:
{
"rdns": [
{"ip": "203.0.113.10", "hostname": "mail.example.com"},
{"ip": "2001:db8:2:dd::f9:6b", "hostname": "mail.example.com"}
]
}
| 400 | ip λείπει ή το όνομα του υπολογιστή δεν ήταν δυνατό να οριστεί |
| 404 | Η διεύθυνση IP δεν έχει ανατεθεί σε αυτόν τον εξυπηρετητή |
Λειτουργεί μια εντολή κέλυφος μέσα στον διακομιστή μέσω του guest agent QONFa και περιμένει να τελειώσει. Ο διακομιστής πρέπει να αναπτυχθεί και να λειτουργήσει, και Qemu-guest-agent πρέπει να εγκατασταθεί και να τρέχει στον επισκέπτη.
Απαιτείται άδεια: servers:exec
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
command |
string | Ναί | Γραμμή εντολών τρέχει με /bin/sh -c, μέχρι 2000 χαρακτήρες |
timeout |
integer | No | Δευτερόλεπτα για να περιμένετε την εντολή, 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
}
Εάν η εντολή εξακολουθεί να εκτελείται όταν λήξει το χρονικό διάστημα, η απάντηση έχει timed_out που ορίζεται στην αλήθεια και έξοδος_κώδικας που ορίζεται σε μηδέν.
| 200 | Η εντολή ολοκληρώθηκε ή έχει λήξει |
| 400 | Ο εξυπηρετητής δεν έχει αναπτυχθεί ή δεν λειτουργεί, ή μη διαθέσιμες παράμετροι |
| 409 | Ο καλεσμένος πράκτορας QONFa δεν τρέχει στον διακομιστή |
| 503 | Temporary connection problem. Retry after the Retry-After header. |
Ο διακομιστής εξαφανίζεται αμέσως από τη λίστα και δεν μπορεί να ανακτηθεί.
Απαιτείται άδεια: 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 στο λογαριασμό σας, στη συνέχεια, να περάσει τα uuids τους ως ssh_key_uids όταν δημιουργείτε έναν διακομιστή. GET λίστες τα κλειδιά σας (25 ανά σελίδα); POST προσθέτει ένα.
Απαιτείται άδεια: ssh-keys:list (GET), ssh-keys:create (POST)
| Parameter | Τύπος | Υποχρεούμαι | Description |
|---|---|---|---|
name |
string | Ναί | Όνομα για την αναγνώριση του κλειδιού από έως 100 χαρακτήρες |
public_key |
string | Ναί | Το δημόσιο κλειδί σε μορφή OpenSSH, για παράδειγμα το περιεχόμενο του 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
}
| Πεδίο | Τύπος | Description |
|---|---|---|
id, uuid |
integer, string | Βασικά αναγνωριστικά. Χρησιμοποιήστε uuid σε ssh_key_uids και στο URL παρακάτω; id λειτουργεί σε ssh_key_ids. |
fingerprint |
string | Αποτύπωμα MD5 του κλειδιού, που υπολογίζεται από την πλατφόρμα |
last_used_at |
datetime | null | Όταν το κλειδί εγκαταστάθηκε τελευταία σε ένα νέο διακομιστή |
| 201 | Προστέθηκε κλειδί |
| 400 | Το χαμένο όνομα ή το δημόσιο κλειδί δεν είναι έγκυρο δημόσιο κλειδί SSH |
Το GET επιστρέφει ένα κλειδί με τα παραπάνω πεδία. Το DELETE το αφαιρεί από το λογαριασμό σας και επιστρέφει 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 στιγμιότυπων