Create, inspect, power, resize and delete your VPS servers. Servers are identified by their uuid.
ანგარიშის სერვერების დაბრუნება, ახალი პირველი, 25 გვერდზე. სერვერები, რომლებიც წაიშალა არ შედის.
საჭიროა უფლება: servers:list
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
page |
integer | ნვ, ნვ ჟყმ. | გვერდის ნომერი, 1- დან დაწყებული |
page_size |
integer | ნვ, ნვ ჟყმ. | შედეგები გვერდზე (ნაგულისხმები 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
}
]
}
| ველი | ტიპი | აღწერა |
|---|---|---|
uuid |
string | სერვერის იდენტიფიკატორი, რომელიც ყველა სხვა სერვერის დასასრული წერტილში გამოიყენება |
hostname |
string | ჰოსტის სახელი, რომელიც სერვერის შექმნისას აირჩიეთ |
status |
string | მიმდინარე მდგომარეობა. იხილეთ სერვერის მდგომარეობის მნიშვნელობები ქვემოთ. |
error_description |
string | null | ბოლო შეცდომის დეტალები, როდესაც სტატუსი შეცდომა იყო, სხვა შემთხვევაში ნული |
location_name |
string | Name of the location the server runs in |
os_name |
string | ოპერაციული სისტემის სახელი ვერსიის გარეშე |
plan_name |
string | კითხვად პლანის რეზიუმე, მაგალითად 1 vCPU / 2 GB RAM / 10 GB |
ipv4_addresses |
array | IPv4 მისამართები როგორც სტრიქონი. ცარიელი სანამ სერვერი არ განთავსდება და IPv4- ის გარეშე გეგმებზე. |
ipv6_addresses |
array | IPv6 მისამართები როგორც სტრიქონი. ცარიელი სანამ სერვერი არ განთავსდება. |
created_at |
datetime | შექმნის დრო (ISO 8601, UTC) |
deployed |
boolean | მართალი, როდესაც მოწოდების დასრულება დასრულდა |
| 200 | სერვერების სია წარმატებით მოიძებნა |
| 403 | API ტოკენი არ არის ან არასწორია, ან ტოკენს არ აქვს საჭირო უფლება |
ახალი სერვერის განთავსების რიგი და მისი დაუყოვნებლივ დაბრუნება სტატუსის რიგის მიხედვით. მიწოდების პროცესი ფონზე გრძელდება: სტატუსის ბოლო წერტილის კითხვა, სანამ განთავსება არ დადასტურდება. როდესაც სერვერი მზად იქნება, მისი ლოგინური დეტალები ელფოსტაზე გაგზავნილი იქნება ანგარიშის მფლობელს.
თქვენი ანგარიშის გადახდის მეთოდის შენახვაა საჭირო. თქვენი ანგარიშის ისტორიის მიხედვით, სერვერის შექმნამდე თქვენს ბარათზე შეიძლება დროებითი წინასწარ ავტორიზაციის ოდენობის 1 კვირის ოდენობის თანხა (მინიმუმ 1 $) დაიგეგმოს.
საჭიროა უფლება: servers:create
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
hostname |
string | დიახ | მინიმუმ 3 სიმბოლო. მხოლოდ ასოები, ციფრები, კავშირები და წერტილები. |
location_id |
integer | დიახ | აქტიური მდებარეობის ID მდებარეობების API- დან |
plan_uuid |
string | დიახ | აქტიური გეგმის uuid-ი გეგმების API-დან |
operating_system_version_uuid |
string | დიახ | uuid აქტიური ჩანაწერის ოპერაციული სისტემის ვერსიების სიაში |
ssh_key_uuids |
array | ნვ, ნვ ჟყმ. | სერვერზე დაყენებული SSH კოდების UUID- ები SSH კოდების API- დან |
ssh_key_ids |
array | ნვ, ნვ ჟყმ. | SSH გასაღების სრული ID, ssh_key_uuids-ის ალტერნატივად. თუ ორივე გაგზავნილი იქნება, გამოიყენება ssh_key_ids. |
ssh_key_uuid, ssh_key_id |
string, integer | ნვ, ნვ ჟყმ. | ერთი SSH გასაღების მალმხმობი |
auth_method |
string | ნვ, ნვ ჟყმ. | პაროლი, ssh_key ან ორივე. ნაგულისხმევი პაროლი, ან ორივე, თუ 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 შექმნილია სრული სერვერის ობიექტით, რომელიც აღწერილია სერვერის დეტალების მიღება- ში. მისამართები და 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 | თქვენი ანგარიში სერვერის შექმნის ლიმიტს მიაღწია |
1 სერვერის ადგილმდებარეობის, გეგმის, ოპერაციული სისტემის, IP მისამართისა და ბოლო 5 მოქმედების აღდგენა.
საჭიროა უფლება: 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 ხატულების მარკერი და ვერსიების სია აქ მოკლედ არის მოცემული.
| ველი | ტიპი | აღწერა |
|---|---|---|
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 | ბოლო 5 მოქმედება: id, action, action_display, description, user_email, created_at |
| 200 | სერვერის დეტალები წარმატებით მოიძიეს |
| 404 | ვერ მოიძებნა, ან სხვა ანგარიშს ეკუთვნის |
A lightweight call for polling after you create, power or resize a 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
}
| მნიშვნელობა | აღწერა |
|---|---|
queue |
An action (deploy, power, resize, restore) is queued or in progress |
deploying |
მიმდინარეობს დაყენება. სერვერები, რომლებიც კონტროლის პანელიდან შეიქმნა, იყენებენ ამ მდგომარეობას; სერვერები, რომლებიც API- ს საშუალებით შეიქმნა, რჩებიან რიგში, სანამ მზად არ იქნებიან. |
on |
მოქმედებს |
off |
გამორთულია |
error |
ბოლო მოქმედება ვერ შედგა. იხილეთ შეცდომის აღწერა. |
suspended_payment |
Suspended because of unpaid invoices |
მოქმედების რიგი. სერვერის სტატუსი მოქმედების დასრულებამდე ცვლება.
საჭიროა უფლება: servers:power
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
action |
string | დიახ |
start: ჩართვაshutdown: ლამაზი გამორთვა, იძულებითი გამორთვა თუ სტუმარი არ შეჩერდებაrestart: მყარი ენერგიის ციკლი (დაწყება, შეჩერება)stop: ამჟამად იგივე ენერგიის ციკლი ახორციელებს, როგორც გადატვირთვა. სერვერის გამორთვისთვის გამოიყენეთ shutdown.
|
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
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
action |
string | დიახ | ზომა უნდა შეიცვალოს |
new_plan_uuid |
string | დიახ | The uuid of the plan to move to |
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 | მოქმედება ან new_plan_uuid არ არის, არასწორი ან არააქტიური გეგმა, გეგმა ნაკლებ დისკზე ადგილით, ან გრაფიკული პროცესორის გეგმა (გრაფიკული პროცესორის გეგმები API-ს საშუალებით ვერ გადაკეთდება) |
| 404 | ვერ მოიძებნა, ან სხვა ანგარიშს ეკუთვნის |
| 409 | ზომის შეცვლა ან შენახვის ადგილის შეცვლა უკვე მიმდინარეობს, ან ჰიპერვიზორი არ არის საკმარისად ძლიერი ახალი გეგმის შესასრულებლად |
| 503 | მოცულობა ამჟამად ვერ შემოწმდა. სერვერი არ შეცვლილა; სცადეთ მოგვიანებით. |
ახალი root პაროლის შექმნა, პასუხში მისი დაბრუნება და სერვერზე ცვლილებების ჩასმა. ახალი პაროლი ასევე ელფოსტით გაგზავნება. სერვერი უნდა იყოს განთავსებული. მოთხოვნის სხეული არ არის საჭირო.
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 ხსნის ყველა IPv4 და IPv6 მისამართის უკუკავშირის DNS ჰოსტის სახელს სერვერზე. POST ადგენს მას ერთ მისამართზე. ცარიელი ჰოსტის სახელის გაგზავნა უკან აბრუნებს მისამართს მის ნაგულისხმევ უკუკავშირის DNS სახელზე.
საჭიროა უფლება: servers:update
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
ip |
string | დიახ | IPv4 ან IPv6 მისამართი, რომელიც ამ სერვერს მიენიჭა |
hostname |
string | ნვ, ნვ ჟყმ. | 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 მისამართი არ მიენიჭა ამ სერვერს |
QEMU- ს სტუმრის აგენტის საშუალებით სერვერში ჩასმული Shell ბრძანების შესრულება და მისი დასრულების მოლოდინი. სერვერი უნდა იყოს განთავსებული და მოქმედებაში, ხოლო qemu- guest- agent უნდა იყოს დაყენებული და მოქმედებაში სტუმრის მიერ.
საჭიროა უფლება: servers:exec
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
command |
string | დიახ | ბრძანების ხაზის გაშვება /bin/sh -c-ით, 2000 სიმბოლომდე |
timeout |
integer | ნვ, ნვ ჟყმ. | ბრძანების ლოდინის დრო, წამებში, 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-ის პარამეტრს true და exit_code-ს პარამეტრს null დაარქმევენ.
| 200 | ბრძანება დასრულდა ან დრო ამოიწურა |
| 400 | სერვერი არ არის განთავსებული ან არ მუშაობს, ან არასწორი პარამეტრები |
| 409 | QEMU სტუმრის აგენტი სერვერზე არ მუშაობს |
| 503 | კავშირის დროებითი პრობლემა. კვლავ სცადეთ Retry- After თავსართის შემდეგ. |
სერვერის მუდმივი წაშლისთვის ელოდება. სერვერი სიიდან დაუყოვნებლივ გაქრება და აღდგენა შეუძლებელია.
საჭიროა უფლება: 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_uuids სერვერის შექმნისას. GET ხსნის თქვენს გასაღებს (25 გვერდზე); POST მატებს ერთს.
საჭიროა უფლება: ssh-keys:list (GET), ssh-keys:create (POST)
| პარამეტრები | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
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
}
| ველი | ტიპი | აღწერა |
|---|---|---|
id, uuid |
integer, string | გასაღების იდენტიფიკატორები. გამოიყენეთ uuid ssh_key_uuids-ში და ქვემოთ მითითებულ 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/: სარეზერვო ასლების APIPOST /api/v1/servers/{uuid}/snapshot/: სნეპშოტების API