VPS.org API

REST API sənədləşdirilməsi

Serverlər API-si

VPS vericilərinizi yaradın, yoxlayın, gücləndirin, yenidən ölçün və silin. Vericilər öz uuid-ləri ilə təsnif edilir.

Son Nöqtələr 15
Əsas Yol /api/v1/servers
AL /api/v1/servers/

Bütün Serverləri Siyahıya Alın

Hesabınızdakı serverləri geri qaytarır, ən yenisi əvvəlcə, səhifə başına 25. Silinən serverlər daxil edilmir.

İcazə tələb olunur: servers:list

Sorğu Parametrləri

Parametrlər Növü Tələb olunur İzahat
page integer _Yox Səhifə nömrəsi, 1-dən başlayır
page_size integer _Yox Səhifəyə görə nəticələr (öncəki 25, maksimum 100)

Nümunə Sorğu

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

Nümunə Cavab

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

Cavab Sahələri

Sahə Növü İzahat
uuid string Hər serverin son nöqtəsində istifadə edilən verici identifikatoru
hostname string Verici yaradılarkən seçdiyiniz qovşaq adı
status string Hazırkı vəziyyət. Vericinin Hazırkı vəziyyəti dəyərlərini aşağıda gör.
error_description string | null Xəta vəziyyəti olduğu zaman sonuncu səhvin detalları, əks halda null
location_name string Vericinin işlətdiyi yer adıdır
os_name string İşləyiş sistemi adı, versiyası olmadan
plan_name string Oxunur plan qısa məzmunu, misal üçün 1 vCPU / 2 GB RAM / 10 GB
ipv4_addresses array IPv4 ünvanları string olaraq. Verici işə salınana qədər boş və IPv4 olmayan planlarda.
ipv6_addresses array IPv6 ünvanları string olaraq. Verici işə salınana qədər boşdur.
created_at datetime Yaradılma vaxtı (ISO 8601, UTC)
deployed boolean Provisioning bitdikdən sonra doğru

Cavab Status Kodları

200 Server siyahısı uğurla əldə edildi
403 API tokeni yoxdu ya da səhvdir, ya da tokenin lazımi icazəsi yoxdur
POST /api/v1/servers/

Yeni Server Yaradın

Yeni bir vericinin işə salınması üçün növbəyə qoyur və vəziyyəti ilə birlikdə geri qaytarır. Providing backgroundda davam edir: status endpoint is deployed to true. Server hazır olduqda, onun giriş məlumatları hesab sahibinə e-poçtla göndərilir.

Hesabınızda qeyd olunmuş ödəniş üsulu olmalıdır. Hesabınızın tarixçəsinə bağlı olaraq, server yaradılmadan əvvəl kartınızda plan qiymətinin bir həftəlik müvəqqəti əvvəlcədən icazəsi saxlanılacaq (ən azı 1 USD).

İcazə tələb olunur: servers:create

Əsas Parametrləri Sorğu

Parametrlər Növü Tələb olunur İzahat
hostname string Bəli Ən azı 3 xarakter. Yalnız hərflər, rəqəmlər, bağçalar və nöqtələr.
location_id integer Bəli Yerlər API-dən aktiv yerin id-si
plan_uuid string Bəli Planlar API-dən aktiv planın uuid-i
operating_system_version_uuid string Bəli İşləyiş sisteminin versiya siyahısındakı aktiv bir daxilinin uuid-i
ssh_key_uuids array _Yox Vericidə quraşdırılacaq SSH Açarları API-dən SSH açarlarının UUID-ləri
ssh_key_ids array _Yox Ssh_key_uuids əvəzinə SSH açarlarının tam nömrəli id-ləri. Əgər hər ikisi göndərilsə, ssh_key_ids istifadə ediləcək.
ssh_key_uuid, ssh_key_id string, integer _Yox Tək SSH açarı üçün qısaltma
auth_method string _Yox şifrə, ssh_key ya da hər ikisi. Ön qurğulu şifrə, ya da SSH açarları veriləndə hər ikisi.

Nümunə Sorğu

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);

Nümunə Cavab

201 Serverin Təsvirini Al altında təsvir edilmiş tam server cismi ilə yaradılmışdır. Ünvanlar və vmid işə salma bitdikdən sonra doldurulur.

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

Cavab Status Kodları

201 Verici yaradıldı və işə salmaq üçün növbəyə qoyulub
400 Təsdiqləmə xətası, məsələn, qeyri-fəal yer, plan və ya əməliyyat sistemi versiyası
402 Faylda ödəmə üsulu yoxdur, ödənilməmiş faturalar var, ya da kart əvvəlcədən icazəsi rədd edilmişdir
403 API tokeni yoxdu ya da səhvdir, ya da tokenin lazımi icazəsi yoxdur
429 Hesabınız server yaradılması həddinə çatıb
AL /api/v1/servers/{uuid}/

Server Məlumatlarını Əldə Edin

Bir vericinin mövqeyini, planını, işləmə sistemini, IP ünvanlarını və beş sonuncu hərəkətini geri qaytarır.

İcazə tələb olunur: servers:list

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

Nümunə Cavab

{
  "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 simvolu mətni və versiya siyahısı burada qısaldılır.

Cavab Sahələri

Sahə Növü İzahat
vmid integer | null Virtual maşın nömrəsi, işə salma zamanı təyin edilmişdir
location object Yerlər API-si tərəfindən geri qaytarılan yer cismi
plan object Planlar API tərəfindən geri qaytarılan plan cismi
operating_system, operating_system_version object İşləyiş sistemi və quraşdırılmış versiya, İşləyiş Sistemləri API tərəfindən geri qaytarılır
ipv4_addresses, ipv6_addresses array IP, qapı, altşəbəkə və rdns (təkrar DNS qovşaq adı) ilə hər ünvana bir cisim
recent_actions array Beşə qədər son hərəkət: id, hərəkət, hərəkət_görüntü, təsvir, istifadəçi_e-poçtu, yaradılan_da

Cavab Status Kodları

200 Server məlumatları uğurla əldə edildi
404 Tapılmadı ya da başqa hesaba aiddir
AL /api/v1/servers/{uuid}/status/

Verici vəziyyəti

Verici yaratdıqdan, gücləndirdikdən və ya yenidən ölçüsünü dəyişdikdən sonra sorğu üçün yüngül çağırış.

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
}

Verici Vəziyyət Qiymətləri

Mə'na İzahat
queue Bir əməliyyat (icra, gücləndirmə, ölçü dəyişdirmə, bərpa) növbədədir ya da gedir
deploying Hazırlanmaqdadır. İdarə panelindən yaradılan vericilər bu vəziyyəti istifadə edir; API vasitəsilə yaradılan vericilər hazır olana qədər növbədə qalır.
on İcra Et
off Powered off
error Son əməliyyat bacarılmadı. error_description-a baxın.
suspended_payment Ödənilməmiş faturalar səbəbindən dayandırıldı
POST /api/v1/servers/{uuid}/power/

Vericinin gücünü idarə et

Güc əmrini növbəyə qoyur. Əmr tamamlanana qədər vericinin vəziyyəti sıraya çevrilir.

İcazə tələb olunur: servers:power

Əsas Parametrləri Sorğu

Parametrlər Növü Tələb olunur İzahat
action string Bəli start: güc
shutdown: şəffaf bağlanma, qonaq dayanmazsa məcbur olaraq bağlanır
restart: güc dövrəsi (stop, sonra başla)
stop: hazırda yenidən başlatma kimi eyni enerji dövrəsini yerinə yetirir. Vericini söndürmək üçün shutdown istifadə et.

Nümunə Sorğu

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

Nümunə Cavab

{
  "message": "Server restart queued"
}

Cavab Status Kodları

200 Əməliyyat qrupuna daxil edildi
400 Eksik ya da dəstəklənməyən əməliyyat
402 hesabda ödənilməyən faturalar olduğu üçün başlanğıc rədd edildi
404 Tapılmadı ya da başqa hesaba aiddir
POST /api/v1/servers/{uuid}/resize/

Vericinin Böyüdünü Dəyişdir

Vericini başqa bir aktiv plana köçür. Yeni plan hazırkı plandan daha az disk yeri ola bilməz və tələbin bədəni yenidən ölçülmək üçün əmrləri ehtiva etməlidir. Yeni planın hipervisor qabiliyyəti hər hansı bir şey sıraya qoyulmadan əvvəl yoxlanır, buna görə də rədd edilmiş bir tələb vericini dəyişməz buraxır.

Verici, ölçüsünü dəyişdirərkən bağlanır və sonra yenidən başlatılır. Əgər yenidən ölçüsünü dəyişdirmək bacarılmazsa, verici əvvəlki planına qaytarılır və işlədiyi halda yenidən başlatılır. Diskin böyüməsi geri alına bilməz.

İcazə tələb olunur: servers:resize

Əsas Parametrləri Sorğu

Parametrlər Növü Tələb olunur İzahat
action string Bəli Böyütmə
new_plan_uuid string Bəli 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"
}

Böyüklüyü dəyişdirmə rədd edildi (409) nümunəsi:

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

Cavab Status Kodları

200 Əməliyyat qrupuna daxil edildi
400 Missing action or new_plan_uuid, invalid or inactive plan, a plan with less disk space, or a GPU plan (GPU plans cannot be resized through the API)
404 Tapılmadı ya da başqa hesaba aiddir
409 Böyütmə və ya saxlama dəyişikliyi artıq gedir, ya da yeni plan üçün kifayət qədər hipervizor gücü yoxdur
503 Bacarıq indi yoxlana bilmədi. Verici dəyişdirilmədi. Daha sonra yenidən cəhd edin.
POST /api/v1/servers/{uuid}/reset-password/

Root Şifrəsini Yenidən Yüklə

Yeni root şifrəsini yaradır, cavabda geri qaytarır və dəyişikliyi vericidə növbəyə qoyur. Yeni şifrələr sizə e-poçtla da göndərilir. Verici işə salınıb. İstiqamət bədəni lazım deyil.

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

Cavab Status Kodları

200 Əməliyyat qrupuna daxil edildi
400 Verici hələ işə salınıb
404 Tapılmadı ya da başqa hesaba aiddir
AL POST /api/v1/servers/{uuid}/rdns/

Ters DNS (PTR)

GET vericidəki hər bir IPv4 və IPv6 ünvanının əks DNS qovşaq adını siyahıya alır. POST onu bir ünvana uyğun olaraq təyin edir. Boş qovşaq adını göndərməklə ünvan ön qurğulu əks DNS adına bərpa edilir.

İcazə tələb olunur: servers:update

Əsas Parametrləri Sorğu (POST)

Parametrlər Növü Tələb olunur İzahat
ip string Bəli Bu vericiyə verilmiş IPv4 ya da IPv6 ünvanı
hostname string _Yox PTR qovşaq adı. Ön qurğulu olaraq bərpa etmək üçün boş buraxın.
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 cavabı:

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

Cavab Status Kodları

400 ip yoxdu, ya da qovşaq adı qoyula bilmədi
404 IP ünvanı bu vericiyə verilməmişdir
POST /api/v1/servers/{uuid}/exec/

Vericidə əmr icra et

Vericinin içində QEMU qonaq agenti vasitəsilə shell əmrini icra edir və bitməsini gözləyir. Verici işə salınıb işləməlidir və qemu-guest-agent qoşulmuş və qonaqda işləməlidir.

İcazə tələb olunur: servers:exec

Əsas Parametrləri Sorğu

Parametrlər Növü Tələb olunur İzahat
command string Bəli Əmr sətri /bin/sh -c ilə 2000 karakterə qədər işləyir
timeout integer _Yox Əmri gözləmək üçün saniyələr, 1-dən 300-ə qədər (öncəki 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
}

Əgər əmr vaxt keçdikdə hələ də işləyirsə, cavab timed_out true və exit_code null olaraq təyin edilmişdir.

Cavab Status Kodları

200 Əmr bitdi ya da vaxtı keçdi
400 Verici işə salınıb ya da işləməyib, ya da səhv parametrlər var
409 QEMU qonaq agenti vericidə işləmədi
503 Müvəqqəti bağlantı problemi. Retry-After başlığından sonra yenidən cəhd et.
SİLİN /api/v1/servers/{uuid}/

Serveri Sil

Vericini əbədi olaraq silmək üçün növbəyə qoyur. Verici siyahıdan dərhal yox olur və geri alına bilməz.

İcazə tələb olunur: 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"
}

Cavab Status Kodları

202 Təklif qəbul edildi
404 Tapılmadı ya da başqa hesaba aiddir
AL POST /api/v1/ssh-keys/

SSH Açarları

Əhali SSH açarlarını hesabınızda saxlayın, sonra verici yaratdığınız zaman onların uuids-lərini ssh_key_uuids olaraq verin. GET açarlarınızı siyahıya alır (səhifədə 25); POST bir açar əlavə edir.

İcazə tələb olunur: ssh-keys:list (GET), ssh-keys:create (POST)

Əsas Parametrləri Sorğu (POST)

Parametrlər Növü Tələb olunur İzahat
name string Bəli Açarı tanıtmaq üçün ad, 100 xarakterə qədər
public_key string Bəli OpenSSH formatında ictimai açar, məsələn id_ed25519.pub-un məzmunu

Nümunə Sorğu

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

Nümunə Cavab

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

Cavab Sahələri

Sahə Növü İzahat
id, uuid integer, string Açar identifikatorları. ssh_key_uuids və aşağıdakı URL-də uuid istifadə et; id ssh_key_ids-də işləyir.
fingerprint string Açarın MD5 əlamət izi, platform tərəfindən hesablanmışdır
last_used_at datetime | null Açar sonuncu dəfə yeni vericiyə nə vaxt quraşdırıldı

Cavab Status Kodları

201 Açar əlavə edildi
400 Ad yoxdu, ya da ictimai açar düzgün SSH ictimai açar deyil
AL SİLİN /api/v1/ssh-keys/{uuid}/

SSH Açarı

GET yuxarıda göstərilən sahələr ilə bir açar geri qaytarır. DELETE onu hesabınızdan silərək 204-ü heç bir məzmun olmadan geri qaytarır. Açarın sililməsi onu artıq quraşdırılmış vericilərdən silmir. Açarlar dəyişdirilə bilməz: silin və yenidən əlavə et.

İcazə tələb olunur: 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"

Zəng Et

Zəng və ya görüntü yaratmaq da server əmridir: